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)
31 # Library Root dictionary
32 # only for selected classes
33 # (temporarily excluded for OSF1 due to compilation errors)
35 ifneq ($(ALICE_TARGET),OSF1)
36 DICT = AliGeant4Cint.cxx
37 DICTH = AliRunConfiguration.h AliGeant4LinkDef.h
38 DICTO = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(DICT))
43 OBJS = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
45 # Program C++ source, objects
48 POBJ = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(PSRC))
50 # C++ compilation flags
52 CXXFLAGS = $(CXXOPTS) -I$(ROOTSYS)/include -I. -I$(ALICE_ROOT)/include \
53 -I$(ALICE)/geant4_vmc/source/global/include \
54 -I$(ALICE)/geant4_vmc/source/geometry/include \
55 -I$(ALICE)/geant4_vmc/source/digits+hits/include \
56 -I$(ALICE)/geant4_vmc/source/physics/include \
57 -I$(ALICE)/geant4_vmc/source/event/include \
58 -I$(ALICE)/geant4_vmc/source/run/include \
59 -I$(ALICE)/geant4_vmc/source/interfaces/include \
60 -I$(ALICE)/geant4_vmc/source/visualization/include
65 SLIBRARY = $(LIBDIR)/libAliGeant4.$(SL)
66 ALIBRARY = $(LIBDIR)/libAliGeant4.a
67 PROGRAM = $(BINDIR)/$(TARGET)
69 default: $(SLIBRARY) $(PROGRAM)
72 $(LIBDIR)/libAliGeant4.$(SL): $(OBJS)
73 $(LIBDIR)/libAliGeant4.a: $(OBJS)
75 $(BINDIR)/$(TARGET): $(POBJ)
83 #HEADERS = $(filter-out %LinkDef.h,$(HDRS))
85 # filter-out Geant3 dependent libraries (ZDC requires symbols from G3)
86 # and add Geant4 dependent ones
87 ALILIBS := $(filter-out -lgeant321,$(ALILIBS))
88 ALILIBS := $(filter-out -lgeant3,$(ALILIBS))
89 ALILIBS := $(filter-out -lZDC,$(ALILIBS))
90 ALILIBS := $(filter-out -lITS,$(ALILIBS))
91 ALILIBS += -lAliGeant4 -L$(ALICE)/geant4_vmc/lib/tgt_$(ALICE_TARGET) -lgeant4vmc
93 LIBS = $(ALILIBS) $(CLIBS) $(GLIBS) -lEG -lEGPythia6 -lpythia6 -lpdf \
94 -lTHijing -lhijing -lTMEVSIM -lmevsim -lTHbtp -lHBTP \
95 -lTHerwig -lherwig $(G4LDLIBS)
97 TOCLEAN = $(OBJS) $(POBJ) *Cint.cxx *Cint.h
99 CHECKS = $(patsubst %.cxx,check/%.viol,$(SRCS))
101 ############################### General Macros ################################
103 include $(ALICE_ROOT)/conf/GeneralMacros
106 # Geant4 specific compiler flags
108 CXXFLAGS += $(CPPFLAGS)
111 ############################ Dependencies #####################################
113 -include tgt_$(ALICE_TARGET)/Make-depend