3 ############################### TGeant4 Makefile ###############################
5 # Include Geant4 specific definitions
7 include $(G4INSTALL)/config/architecture.gmk
9 # Include machine specific definitions
11 include $(ALICE_ROOT)/conf/GeneralDef
12 include $(ALICE_ROOT)/conf/MachineDef.$(ALICE_TARGET)
14 # Include Alice Geant4 specific definitions
16 include $(ALICE_ROOT)/conf/Geant4.gmk
22 SRCS = $(wildcard *.cxx)
26 HDRS = $(wildcard *.icc) $(wildcard *.h)
28 # Library Root dictionary
29 # only for selected classes
30 # (temporarily excluded for OSF1 due to compilation errors)
32 ifneq ($(ALICE_TARGET),OSF1)
33 DICT = TGeant4Cint.cxx
34 DICTH = TGeant4.h TG4VRunConfiguration.h \
35 TG4Editor.h TG4GUI.h TG4GeometryGUI.h TG4GuiVolume.h \
37 DICTO = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(DICT))
42 OBJS = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
44 # C++ compilation flags
46 CXXFLAGS = $(CXXOPTS) -I$(ROOTSYS)/include -I. -I$(ALICE_ROOT)/include/
53 SLIBRARY = $(LIBDIR)/libTGeant4.$(SL)
54 ALIBRARY = $(LIBDIR)/libTGeant4.a
58 $(LIBDIR)/libTGeant4.$(SL): $(OBJS)
59 $(LIBDIR)/libTGeant4.a: $(OBJS)
67 #HEADERS = $(filter-out %LinkDef.h,$(HDRS))
69 TOCLEAN = $(OBJS) *Cint.cxx *Cint.h
71 CHECKS = $(patsubst %.cxx,check/%.viol,$(SRCS))
73 ############################### General Macros ################################
75 include $(ALICE_ROOT)/conf/GeneralMacros
77 # Geant4 specific compiler flags
79 CXXFLAGS += $(CPPFLAGS)
81 # Remove optimisation for TG4PhysicsConstructorHadron
83 ifeq ($(ALICE_TARGET),Linux)
84 COMPILER := $(shell g++ -v 2>&1 | grep version | grep egcs)
85 ifeq ($(findstring 1.1,$(COMPILER)),1.1)
86 CXXFLAGS_WITHOUT_O := $(filter-out -O% -Wuninitialized, $(CXXFLAGS))
87 tgt_$(ALICE_TARGET)/TG4PhysicsConstructorHadron.o : TG4PhysicsConstructorHadron.cxx
89 @$(CXX) $(CXXFLAGS_WITHOUT_O) -c -o $@ TG4PhysicsConstructorHadron.cxx
91 $(CXX) $(CXXFLAGS_WITHOUT_O) -c -o $@ TG4PhysicsConstructorHadron.cxx
96 ifeq ($(ALICE_TARGET),HP-UX.aCC)
97 # remove optimisation for TG4PhysicsConstructorHadron
99 COMPILER := $(shell aCC -V 2>&1)
100 ifeq ($(COMPILER), aCC: HP ANSI C++ B3910B A.01.15)
101 CXXFLAGS_WITHOUT_O := $(filter-out -O% , $(CXXFLAGS))
102 CXXFLAGS_WITHOUT_O := $(filter-out +O% , $(CXXFLAGS_WITHOUT_O))
103 tgt_$(ALICE_TARGET)/TG4PhysicsConstructorHadron.o : TG4PhysicsConstructorHadron.cxx
104 ifeq ($(CXXVERBOSE),)
105 @$(CXX) $(CXXFLAGS_WITHOUT_O) -c $*.cxx -o tgt_$(ALICE_TARGET)/$*.o
107 $(CXX) $(CXXFLAGS_WITHOUT_O) -c $*.cxx -o tgt_$(ALICE_TARGET)/$*.o
113 ############################ Dependencies #####################################
115 -include tgt_$(ALICE_TARGET)/Make-depend