]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/Makefile
add SetReference method
[u/mrichter/AliRoot.git] / EMCAL / Makefile
CommitLineData
07d5ad6b 1# $Id: Makefile 33076 2009-06-19 16:40:17Z akisiel $
2
3include $(ROOTSYS)/test/Makefile.arch
4
5PACKAGE = EMCAL
6
7default-target: lib$(PACKAGE).so
8
9ALICEINC = -I.
10
11### define include dir for local case and par case
12
6b527f8f 13### in case of Root compilation for ANALYSIS, only load EMCALUtils
14### if modification of EMCAL libraries, include STEER and RAW
45040bd3 15ifneq ($(STEERBase_INCLUDE),)
16 ALICEINC += -I../$(STEERBase_INCLUDE)
6b527f8f 17else
18 ALICEINC += -I$(ALICE_ROOT)/include
19 ALICEINC += -I$(ALICE_ROOT)/STEER
20 ALICEINC += -I$(ALICE_ROOT)/RAW
21 ALICEINC += -I$(ALICE_ROOT)/VZERO
45040bd3 22endif
23
6b527f8f 24### in modification of EMCAL libraries, and not modification of EMCALUtils, include EMCAL from aliroot
07d5ad6b 25ifneq ($(EMCALUtils_INCLUDE),)
26 ALICEINC += -I../$(EMCALUtils_INCLUDE)
6b527f8f 27else
28 ALICEINC += -I$(ALICE_ROOT)/EMCAL
07d5ad6b 29endif
30
31ifneq ($(EMCALbase_INCLUDE),)
32 ALICEINC += -I../$(EMCALbase_INCLUDE)
33endif
34
35ifneq ($(EMCALsim_INCLUDE),)
36 ALICEINC += -I../$(EMCALsim_INCLUDE)
37endif
38
39ifneq ($(EMCALrec_INCLUDE),)
40 ALICEINC += -I../$(EMCALrec_INCLUDE)
41endif
42
43# only if no par file was loaded before
44ifeq ($(ALICEINC),-I.)
45 ifneq ($(ALICE_ROOT),)
46 ALICEINC += -I$(ALICE_ROOT)/include
47 ALICEINC += -I$(ALICE_ROOT)/STEER
48 ALICEINC += -I$(ALICE_ROOT)/RAW
49 ALICEINC += -I$(ALICE_ROOT)/EMCAL
50 endif
51endif
52
53
54CXXFLAGS += $(ALICEINC) -g
55F77FLAGS += $(ALICEINC) -g -fPIC
56
57
58include lib$(PACKAGE).pkg
59
60DHDR_EMCAL := $(DHDR)
61HDRS_EMCAL := $(HDRS)
62SRCS_EMCAL := $(SRCS) G__$(PACKAGE).cxx
63FSCRS_EMCAL := $(FSRCS)
64OBJS_EMCAL := $(SRCS_EMCAL:.cxx=.o) $(FSRCS:.F=.o)
65
66PARFILE = $(PACKAGE).par
67
68lib$(PACKAGE).so: $(OBJS_EMCAL)
69 @echo "Linking" $@ ...
70 @/bin/rm -f $@
71ifeq ($(ARCH),macosx)
72 @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
73else
74 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
75endif
76 @chmod a+x $@
77 @echo "done"
78
79%.o: %.cxx %.h
80 $(CXX) $(CXXFLAGS) -c $< -o $@
81
82%.o: %.F
83 $(F77) $(F77FLAGS) -c $< -o $@
84
85G__$(PACKAGE).cxx G__$(PACKAGE).h: $(HDRS_EMCAL) $(DHDR_EMCAL)
86 @echo "Generating dictionary ..."
87 rootcint -f $@ -c $(CINTFLAGS) $(ALICEINC) $^
88
89clean:
90 @rm -f $(OBJS_EMCAL) *.so G__$(PACKAGE).* $(PARFILE)
91
92### CREATE PAR FILE
93
94$(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out G__%, $(HDRS_EMCAL) $(SRCS_EMCAL) $(DHDR_EMCAL) Makefile Makefile.arch lib$(PACKAGE).pkg PROOF-INF))
95 @echo "Creating archive" $@ ...
96 @tar cfzh $@ $(PACKAGE)
97 @rm -rf $(PACKAGE)
98 @echo "done"
99
100$(PACKAGE)/Makefile: Makefile #.$(PACKAGE)
101 @echo Copying $< to $@ with transformations
102 @[ -d $(dir $@) ] || mkdir -p $(dir $@)
103 @sed 's/include \$$(ROOTSYS)\/test\/Makefile.arch/include Makefile.arch/' < $^ > $@
104
105$(PACKAGE)/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
106 @echo Copying $< to $@
107 @[ -d $(dir $@) ] || mkdir -p $(dir $@)
108 @cp -a $^ $@
109
110$(PACKAGE)/PROOF-INF: PROOF-INF.$(PACKAGE)
111 @echo Copying $< to $@
112 @[ -d $(dir $@) ] || mkdir -p $(dir $@)
113 @cp -a -r $^ $@
114
115$(PACKAGE)/%: %
116 @echo Copying $< to $@
117 @[ -d $(dir $@) ] || mkdir -p $(dir $@)
118 @cp -a $< $@
119
120test-%.par: %.par
121 @echo "INFO: The file $< is now tested, in case of an error check in par-tmp."
122 @mkdir -p par-tmp
123 @cd par-tmp; tar xfz ../$<; cd $(subst .par,,$<); PROOF-INF/BUILD.sh
124 @rm -rf par-tmp
125 @echo "INFO: Testing succeeded (already cleaned up)"