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 TG4MainFrame.h TG4GeometryGUI.h TG4GuiVolume.h \
36 TG4MaterialsFrames.h TG4VolumesFrames.h TG4ListTreeFrame.h \
38 DICTO = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(DICT))
43 OBJS = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
45 # C++ compilation flags
47 CXXFLAGS = $(CXXOPTS) -I$(ROOTSYS)/include -I. -I$(ALICE_ROOT)/include/
54 SLIBRARY = $(LIBDIR)/libTGeant4.$(SL)
55 ALIBRARY = $(LIBDIR)/libTGeant4.a
59 $(LIBDIR)/libTGeant4.$(SL): $(OBJS)
60 $(LIBDIR)/libTGeant4.a: $(OBJS)
68 #HEADERS = $(filter-out %LinkDef.h,$(HDRS))
70 TOCLEAN = $(OBJS) *Cint.cxx *Cint.h
72 CHECKS = $(patsubst %.cxx,check/%.viol,$(SRCS))
74 ############################### General Macros ################################
76 include $(ALICE_ROOT)/conf/GeneralMacros
78 # Geant4 specific compiler flags
80 CXXFLAGS += $(CPPFLAGS)
82 # Remove optimisation for TG4PhysicsConstructorHadron
84 ifeq ($(ALICE_TARGET),Linux)
85 COMPILER := $(shell g++ -v 2>&1 | grep version | grep egcs)
86 ifeq ($(findstring 1.1,$(COMPILER)),1.1)
87 CXXFLAGS_WITHOUT_O := $(filter-out -O% -Wuninitialized, $(CXXFLAGS))
88 tgt_$(ALICE_TARGET)/TG4PhysicsConstructorHadron.o : TG4PhysicsConstructorHadron.cxx
90 @$(CXX) $(CXXFLAGS_WITHOUT_O) -c -o $@ TG4PhysicsConstructorHadron.cxx
92 $(CXX) $(CXXFLAGS_WITHOUT_O) -c -o $@ TG4PhysicsConstructorHadron.cxx
97 ifeq ($(ALICE_TARGET),HP-UX.aCC)
98 # remove optimisation for TG4PhysicsConstructorHadron
100 COMPILER := $(shell aCC -V 2>&1)
101 ifeq ($(COMPILER), aCC: HP ANSI C++ B3910B A.01.15)
102 CXXFLAGS_WITHOUT_O := $(filter-out -O% , $(CXXFLAGS))
103 CXXFLAGS_WITHOUT_O := $(filter-out +O% , $(CXXFLAGS_WITHOUT_O))
104 tgt_$(ALICE_TARGET)/TG4PhysicsConstructorHadron.o : TG4PhysicsConstructorHadron.cxx
105 ifeq ($(CXXVERBOSE),)
106 @$(CXX) $(CXXFLAGS_WITHOUT_O) -c $*.cxx -o tgt_$(ALICE_TARGET)/$*.o
108 $(CXX) $(CXXFLAGS_WITHOUT_O) -c $*.cxx -o tgt_$(ALICE_TARGET)/$*.o
114 ############################ Dependencies #####################################
116 -include tgt_$(ALICE_TARGET)/Make-depend