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