3 ############################### AliGeant4 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
17 include $(ALICE_ROOT)/conf/Geant4.gmk
24 SRCS = $(wildcard *.cxx)
25 SRCS := $(filter-out $(TARGET).cxx,$(SRCS))
29 HDRS = $(wildcard *.icc) $(wildcard *.h)
32 # only for selected classes
34 DICT = AliGeant4Cint.cxx
35 DICTH = AliRunConfiguration.h AliGeant4LinkDef.h
36 DICTO = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(DICT))
40 OBJS = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
42 # Program C++ source, objects
45 POBJ = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(PSRC))
47 # C++ compilation flags
49 CXXFLAGS = $(CXXOPTS) -I$(ROOTSYS)/include -I. -I$(ALICE_ROOT)/include \
50 -I$(ALICE_ROOT)/TGeant4
56 SLIBRARY = $(LIBDIR)/libAliGeant4.$(SL)
57 ALIBRARY = $(LIBDIR)/lib/libAliGeant4.a
58 PROGRAM = $(BINDIR)/$(TARGET)
60 default: $(SLIBRARY) $(PROGRAM)
62 $(LIBDIR)/libAliGeant4.$(SL): $(OBJS)
64 $(BINDIR)/$(TARGET): $(POBJ)
72 #HEADERS = $(filter-out %LinkDef.h,$(HDRS))
74 # filter-out Geant3 dependent libraries (ZDC requires symbols from G3)
75 # and add Geant4 dependent ones
76 ALILIBS := $(filter-out -lTGeant3,$(ALILIBS))
77 ALILIBS := $(filter-out -lZDC,$(ALILIBS))
78 ALILIBS += -lTGeant4 -lAliGeant4
80 LIBS = $(ALILIBS) $(G4LDLIBS) $(CLIBS) $(GLIBS) -lEG -lEGPythia -lpythia -lpdf
82 TOCLEAN = $(OBJS) $(POBJ) *Cint.cxx *Cint.h
84 CHECKS = $(patsubst %.cxx,check/%.viol,$(SRCS))
86 ############################### General Macros ################################
88 include $(ALICE_ROOT)/conf/GeneralMacros
91 # Geant4 specific compiler flags
93 CXXFLAGS += $(CPPFLAGS)
96 ############################ Dependencies #####################################
98 -include tgt_$(ALICE_TARGET)/Make-depend