]>
Commit | Line | Data |
---|---|---|
07d5ad6b | 1 | # $Id: Makefile 33076 2009-06-19 16:40:17Z akisiel $ |
2 | ||
3 | include $(ROOTSYS)/test/Makefile.arch | |
4 | ||
5 | PACKAGE = EMCAL | |
6 | ||
7 | default-target: lib$(PACKAGE).so | |
8 | ||
9 | ALICEINC = -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 | 15 | ifneq ($(STEERBase_INCLUDE),) |
16 | ALICEINC += -I../$(STEERBase_INCLUDE) | |
6b527f8f | 17 | else |
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 | 22 | endif |
23 | ||
6b527f8f | 24 | ### in modification of EMCAL libraries, and not modification of EMCALUtils, include EMCAL from aliroot |
07d5ad6b | 25 | ifneq ($(EMCALUtils_INCLUDE),) |
26 | ALICEINC += -I../$(EMCALUtils_INCLUDE) | |
6b527f8f | 27 | else |
28 | ALICEINC += -I$(ALICE_ROOT)/EMCAL | |
07d5ad6b | 29 | endif |
30 | ||
31 | ifneq ($(EMCALbase_INCLUDE),) | |
32 | ALICEINC += -I../$(EMCALbase_INCLUDE) | |
33 | endif | |
34 | ||
35 | ifneq ($(EMCALsim_INCLUDE),) | |
36 | ALICEINC += -I../$(EMCALsim_INCLUDE) | |
37 | endif | |
38 | ||
39 | ifneq ($(EMCALrec_INCLUDE),) | |
40 | ALICEINC += -I../$(EMCALrec_INCLUDE) | |
41 | endif | |
42 | ||
43 | # only if no par file was loaded before | |
44 | ifeq ($(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 | |
51 | endif | |
52 | ||
53 | ||
54 | CXXFLAGS += $(ALICEINC) -g | |
55 | F77FLAGS += $(ALICEINC) -g -fPIC | |
56 | ||
57 | ||
58 | include lib$(PACKAGE).pkg | |
59 | ||
60 | DHDR_EMCAL := $(DHDR) | |
61 | HDRS_EMCAL := $(HDRS) | |
62 | SRCS_EMCAL := $(SRCS) G__$(PACKAGE).cxx | |
63 | FSCRS_EMCAL := $(FSRCS) | |
64 | OBJS_EMCAL := $(SRCS_EMCAL:.cxx=.o) $(FSRCS:.F=.o) | |
65 | ||
66 | PARFILE = $(PACKAGE).par | |
67 | ||
68 | lib$(PACKAGE).so: $(OBJS_EMCAL) | |
69 | @echo "Linking" $@ ... | |
70 | @/bin/rm -f $@ | |
71 | ifeq ($(ARCH),macosx) | |
72 | @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@ | |
73 | else | |
74 | @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@ | |
75 | endif | |
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 | ||
85 | G__$(PACKAGE).cxx G__$(PACKAGE).h: $(HDRS_EMCAL) $(DHDR_EMCAL) | |
86 | @echo "Generating dictionary ..." | |
87 | rootcint -f $@ -c $(CINTFLAGS) $(ALICEINC) $^ | |
88 | ||
89 | clean: | |
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 | ||
120 | test-%.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)" |