]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/Makefile.old
Adding Geant4 macros
[u/mrichter/AliRoot.git] / AliGeant4 / Makefile.old
1 # $Id$
2
3 ############################### AliGeant4 Makefile #############################
4
5 # Include Geant4 specific definitions
6
7 include $(G4INSTALL)/config/architecture.gmk
8
9 # Include machine specific definitions
10
11 include $(ALICE_ROOT)/conf/GeneralDef
12 include $(ALICE_ROOT)/conf/MachineDef.$(ALICE_TARGET)
13
14 # Include Alice Geant4 specific definitions
15
16 NEED_G4_LIBS := 1
17 include $(ALICE_ROOT)/conf/Geant4.gmk
18
19 PACKAGE = AliGeant4
20 TARGET  = aligeant4
21
22 # C++ sources
23
24 SRCS           = $(wildcard *.cxx)
25 SRCS          := $(filter-out $(TARGET).cxx,$(SRCS))
26
27 # C++ Headers
28
29 HDRS          =  $(wildcard *.icc) $(wildcard *.h)
30
31 # Library Root dictionary
32 # only for selected classes
33 # (temporarily excluded for OSF1 due to compilation errors)
34
35 ifneq ($(ALICE_TARGET),OSF1)
36 DICT          = AliGeant4Cint.cxx
37 DICTH         = AliRunConfiguration.h AliGeant4LinkDef.h
38 DICTO         = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(DICT))
39 endif
40
41 # C++ Objects
42
43 OBJS          = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
44
45 # Program C++ source, objects
46
47 PSRC          = $(TARGET).cxx
48 POBJ          = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(PSRC))
49
50 # C++ compilation flags
51
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
61 ##### TARGETS #####
62  
63 # Target
64
65 SLIBRARY        = $(LIBDIR)/libAliGeant4.$(SL)
66 ALIBRARY        = $(LIBDIR)/libAliGeant4.a
67 PROGRAM         = $(BINDIR)/$(TARGET)
68
69 default:        $(SLIBRARY) $(PROGRAM)
70 archived:       $(ALIBRARY)
71
72 $(LIBDIR)/libAliGeant4.$(SL):           $(OBJS)
73 $(LIBDIR)/libAliGeant4.a:               $(OBJS)
74
75 $(BINDIR)/$(TARGET):                    $(POBJ)
76
77 $(DICT):                                $(DICTH)
78
79 depend:                                 $(SRCS)
80
81 clean: macroclean
82
83 #HEADERS =      $(filter-out %LinkDef.h,$(HDRS))
84
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
92
93 LIBS = $(ALILIBS) $(CLIBS) $(GLIBS) -lEG -lEGPythia6 -lpythia6 -lpdf \
94         -lTHijing -lhijing  -lTMEVSIM -lmevsim -lTHbtp -lHBTP \
95         -lTHerwig -lherwig $(G4LDLIBS)
96
97 TOCLEAN       = $(OBJS) $(POBJ) *Cint.cxx *Cint.h
98
99 CHECKS        = $(patsubst %.cxx,check/%.viol,$(SRCS))
100
101 ############################### General Macros ################################
102
103 include $(ALICE_ROOT)/conf/GeneralMacros
104
105
106 # Geant4 specific compiler flags
107
108 CXXFLAGS += $(CPPFLAGS)
109
110
111 ############################ Dependencies #####################################
112
113 -include tgt_$(ALICE_TARGET)/Make-depend