# $Id: Makefile,v 1.0 2007/06/01 ############################### geant4vmc Makefile ########################### PACKAGE = PamVMC ifeq ($(PLATFORM),) PLATFORM = $(shell root-config --arch) endif TOPDIR = $(G4VMC_DIR) BINDIR = $(G4WORKDIR)/tmp/tgt_$(PLATFORM)/$(PACKAGE) LIBDIR = $(G4WORKDIR)/lib/tgt_$(PLATFORM) ifeq ($(ROOTSYS),) ROOT_INCDIR = $(shell root-config --incdir) ROOT_BINDIR = $(shell root-config --prefix)/bin else ROOT_INCDIR = $(ROOTSYS)/include ROOT_BINDIR = $(ROOTSYS)/bin endif include $(TOPDIR)/config/Makefile.$(PLATFORM) ############################### Sources ####################################### # Rules # include $(TOPDIR)/config/MakeRules # Dictionary # GDICT := $(BINDIR)/$(PACKAGE)Cint.cxx GDICTH := $(GDICT:.cxx=.h) GDICTO := $(patsubst %.cxx,$(BINDIR)/%.o,$(GDICT)) # Sources # CXXSRC := $(wildcard src/*.cxx) SRCS := $(CXXSRC) # C++ Headers # HDRS := $(wildcard include/*.h) HDRS := $(filter-out include/$(PACKAGE)LinkDef.h,$(HDRS)) HDRS += include/$(PACKAGE)LinkDef.h # Objects # CXXOBJ := $(patsubst %.cxx,$(BINDIR)/%.o,$(CXXSRC)) OBJS := $(CXXOBJ) $(GDICTO) # PAMELA LIBS # PAMLIBS := -L${PAM_LIB} -lTrkLevel2 SHLIBS := ${PAMLIBS} # Make include list # PAMINC := -I${PAM_INC} -I${PAM_INC}/yoda INCDIR := -Iinclude -I$(PAMINC) \ -I$(TOPDIR)/include \ -I$(CLHEP_BASE_DIR)/include \ -Iinclude -I$(G4INCLUDE) # C++ compilation flags # CXXFLAGS := $(CXXOPTS) -I. $(INCDIR) -I$(ROOT_INCDIR) ${PAMOPTS} DEPINC += -I. -I$(ROOT_INCDIR) $(INCDIR) ############################### Targets ####################################### SLIBRARY = $(LIBDIR)/lib$(PACKAGE).$(SL) ALIBRARY = $(LIBDIR)/lib$(PACKAGE).a default: depend $(SLIBRARY) $(LIBDIR)/lib$(PACKAGE).$(SL): $(OBJS) $(LIBDIR)/lib$(PACKAGE).a: $(OBJS) DICT:= $(GDICT) $(DICT): $(HDRS) depend: $(SRCS) TOCLEAN = $(BINDIR) TOCLEANALL = $(BINDIR) $(LIBDIR) include $(TOPDIR)/config/MakeMacros ############################### Dependencies ################################## -include $(BINDIR)/Make-depend