# $Id$ ############################### AliGeant4 Makefile ############################# # Include Geant4 specific definitions include $(G4INSTALL)/config/architecture.gmk # Include machine specific definitions include $(ALICE_ROOT)/conf/GeneralDef include $(ALICE_ROOT)/conf/MachineDef.$(ALICE_TARGET) # Include Alice Geant4 specific definitions NEED_G4_LIBS := 1 include $(ALICE_ROOT)/conf/Geant4.gmk PACKAGE = AliGeant4 TARGET = aligeant4 # C++ sources #SRCS = $(wildcard *.cxx) #SRCS := $(filter-out $(TARGET).cxx,$(SRCS)) SRCS1 := $(shell find . -maxdepth 1 -name "*.cxx" -exec grep -l "Category: global" {} \; | sed sx./xxg ) SRCS1 += $(shell find . -maxdepth 1 -name "*.cxx" -exec grep -l "Category: geometry" {} \; | sed sx./xxg ) SRCS1 += $(shell find . -maxdepth 1 -name "*.cxx" -exec grep -l "Category: visualization" {} \; | sed sx./xxg ) SRCS2 := $(shell find . -maxdepth 1 -name "*.cxx" -exec grep -l "Category: digits+hits" {} \; | sed sx./xxg ) SRCS2 += $(shell find . -maxdepth 1 -name "*.cxx" -exec grep -l "Category: event" {} \; | sed sx./xxg ) SRCS2 += $(shell find . -maxdepth 1 -name "*.cxx" -exec grep -l "Category: run" {} \; | sed sx./xxg ) # C++ Headers HDRS = $(wildcard *.icc) $(wildcard *.h) # Library Root dictionary # only for selected classes # (temporarily excluded for OSF1 due to compilation errors) ifneq ($(ALICE_TARGET),OSF1) DICT = AliGeant4Cint.cxx DICTH = AliRunConfiguration.h AliGeant4LinkDef.h DICTO = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(DICT)) endif # C++ Objects OBJS1 = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(SRCS1)) OBJS2 = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(SRCS2)) $(DICTO) # Program C++ source, objects PSRC = $(TARGET).cxx POBJ = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(PSRC)) # C++ compilation flags CXXFLAGS = $(CXXOPTS) -I$(ROOTSYS)/include -I. -I$(ALICE_ROOT)/include \ -I$(ALICE_ROOT)/TGeant4 ##### TARGETS ##### # Target SLIBRARY = $(LIBDIR)/libAliGeant4_1.$(SL) $(LIBDIR)/libAliGeant4_2.$(SL) ALIBRARY = $(LIBDIR)/libAliGeant4_1.a $(LIBDIR)/libAliGeant4_2.a PROGRAM = $(BINDIR)/$(TARGET) default: $(SLIBRARY) $(PROGRAM) archived: $(ALIBRARY) $(LIBDIR)/libAliGeant4_1.$(SL): $(OBJS1) $(LIBDIR)/libAliGeant4_1.a: $(OBJS1) $(LIBDIR)/libAliGeant4_2.$(SL): $(OBJS2) $(LIBDIR)/libAliGeant4_2.a: $(OBJS2) $(BINDIR)/$(TARGET): $(POBJ) $(DICT): $(DICTH) depend: $(SRCS1) $(SRCS2) clean: macroclean #HEADERS = $(filter-out %LinkDef.h,$(HDRS)) # filter-out Geant3 dependent libraries (ZDC requires symbols from G3) # and add Geant4 dependent ones ALILIBS := $(filter-out -lTGeant3,$(ALILIBS)) ALILIBS := $(filter-out -lZDC,$(ALILIBS)) ALILIBS := $(filter-out -lITS,$(ALILIBS)) ALILIBS += -lAliGeant4_2 -lAliGeant4_1 -lTGeant4_2 -lTGeant4_1 LIBS = $(ALILIBS) $(CLIBS) $(GLIBS) -lEG -lEGPythia6 -lpythia6 -lpdf \ -lTHijing -lhijing -lTMevSim -lmevsim -lTHbtp -lHBTP \ $(G4LDLIBS) TOCLEAN = $(OBJS) $(POBJ) *Cint.cxx *Cint.h CHECKS = $(patsubst %.cxx,check/%.viol,$(SRCS)) ############################### General Macros ################################ include $(ALICE_ROOT)/conf/GeneralMacros # Geant4 specific compiler flags CXXFLAGS += $(CPPFLAGS) ############################ Dependencies ##################################### -include tgt_$(ALICE_TARGET)/Make-depend