]>
Commit | Line | Data |
---|---|---|
17cb72ed | 1 | #-*- Mode: Makefile -*- |
2 | ||
4179078a | 3 | ifdef DAMODULE |
4 | ||
17cb72ed | 5 | ifdef ALIROOTMODULES |
6 | ||
7 | CXXFLAGS+=-I${ALICE_ROOT}/RAW | |
8 | ||
9 | ifneq ($(EXTRADAMODULE),) | |
10 | CXXFLAGS+=-I${ALICE_ROOT}/$(EXTRADAMODULE) | |
11 | endif | |
12 | ||
13 | DASRC=${DAMODULE}/${DAMODULE}da.cxx | |
14 | DADEP=${DAMODULE}/${DAMODULE}da.d | |
15 | DAOBJ=${DAMODULE}/tgt_${ALICE_TARGET}/${DAMODULE}da.o | |
16 | DALIB=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}/lib${DAMODULE}DA.a | |
17 | DAEXE=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}/${DAMODULE}da.exe | |
18 | ||
19 | DAQDADIR=${ALICE}/daqDAlib | |
20 | DAQDALIB=$(DAQDADIR)/libdaqDA.a | |
21 | ||
22 | ROOTLIBDIR=$(shell root-config --libdir) | |
23 | ||
24 | else | |
25 | ||
26 | CXXFLAGS+=$(shell date-config --cflags) | |
27 | CXXFLAGS+=-Iinclude | |
28 | LD=$(CXX) | |
29 | ||
30 | DASRC=./${DAMODULE}da.cxx | |
31 | DADEP=./${DAMODULE}da.d | |
32 | DAOBJ=./${DAMODULE}da.o | |
33 | DALIB=./lib${DAMODULE}DA.a | |
34 | DAEXE=./${DAMODULE}da.exe | |
35 | ||
36 | DAQDADIR=./daqDAlib | |
37 | DAQDALIB=$(DAQDADIR)/libdaqDA.a | |
38 | ||
39 | ROOTLIBDIR=. | |
40 | ||
41 | LIBPATH= | |
42 | ||
43 | endif | |
44 | ||
4179078a | 45 | SYSLIBS=-ldl |
17cb72ed | 46 | MONITORLIBS=$(shell date-config --monitorlibs=noshift) |
47 | ||
48 | ALIROOTALIBS=$(RAWDatabaseALIB) $(RAWDatarecALIB) $(RAWDatasimALIB) $(STEERALIB) $(CDBALIB) $(ESDALIB) | |
49 | ||
50 | ALIROOTALIBS+=$($(DAMODULE)baseALIB) $($(DAMODULE)recALIB) $($(DAMODULE)simALIB) | |
51 | ||
52 | ifneq ($(EXTRADAMODULE),) | |
53 | ||
54 | ALIROOTALIBS+=$($(EXTRADAMODULE)baseALIB) $($(EXTRADAMODULE)recALIB) $($(EXTRADAMODULE)simALIB) | |
55 | ||
56 | endif | |
57 | ||
58 | static-DA: $(DAEXE) | |
59 | ||
60 | $(DAEXE): $(LIBPATH) $(DAOBJ) $(DALIB) $(DAQDALIB) | |
61 | ||
62 | $(LD) $(LDFLAGS) -o $@ $(DAOBJ) $(DALIB) \ | |
4179078a | 63 | $(SYSLIBS) \ |
64 | $(ROOTLIBDIR)/libRoot.a \ | |
65 | $(ROOTLIBDIR)/libfreetype.a $(ROOTLIBDIR)/libpcre.a \ | |
66 | $(MONITORLIBS) $(DAQDALIB) | |
17cb72ed | 67 | |
68 | $(DAOBJ): $(DASRC) $(DAQDADIR) $(DADEP) | |
69 | $(CXX) -c $(CXXFLAGS) -I$(DAQDADIR) $< -o $@ | |
4179078a | 70 | |
17cb72ed | 71 | $(DADEP): $(DASRC) $(DAQDADIR) |
72 | $(CPP) -MM $(CXXFLAGS) -I$(DAQDADIR) $< > $@ | |
73 | ||
74 | DAINCLUDES=$(sort $(filter-out %.o:,$(filter-out %.cxx,$(filter-out \,$(shell cat $(DADEP)))))) | |
75 | ||
76 | -include $(DADEP) | |
77 | ||
78 | $(DALIB): $(ALIROOTALIBS) | |
79 | @rm -rf $@ | |
80 | @rm -rf junk | |
81 | mkdir junk && cd junk && $(addprefix $(AR) x ../,$(addsuffix &&,$^)) $(AR) r $@ *.o && cd .. && rm -rf junk | |
82 | ||
83 | clean-DA: | |
84 | @rm -f $(DAEXE) | |
85 | @rm -f $(DAOBJ) | |
86 | @rm -f $(DADEP) | |
87 | ifdef ALIROOTMODULES | |
88 | @rm -f $(DALIB) | |
89 | @rm -f $(ALIROOTALIBS) | |
90 | endif | |
91 | ||
92 | tar-DA: $(DASRC) $(DALIB) $(DAQDADIR) $(DADEP) | |
93 | @rm -rf $(DAMODULE)da.tar | |
94 | @rm -rf junk | |
95 | mkdir junk && mkdir junk/include && \ | |
96 | cp -a $(DASRC) $(DALIB) $(ROOTLIBDIR)/libRoot.a $(ROOTLIBDIR)/libfreetype.a $(ROOTLIBDIR)/libpcre.a $(DAQDADIR) junk && \ | |
97 | $(foreach daincfile,$(DAINCLUDES), cp -a $(daincfile) junk/include &&) \ | |
98 | cp -a build/MakefileDA junk/Makefile && \ | |
99 | cd junk && \ | |
100 | tar cvf ../$(DAMODULE)da.tar * && \ | |
101 | cd .. && rm -rf junk | |
4179078a | 102 | |
103 | else | |
104 | ||
105 | static-DA: clean-DA | |
106 | clean-DA: tar-DA | |
107 | tar-DA: | |
108 | @echo | |
109 | @echo "****************************************************************************************************" | |
110 | @echo "* In order to build a detector-algorithm package you have to set the environment variable DAMODULE *" | |
111 | @echo "* For example: setenv DAMODULE TOF *" | |
112 | @echo "* or export DAMODULE=TOF *" | |
113 | @echo "* If the detector algorithm uses data from another sub-detector you can specify this by setting *" | |
114 | @echo "* the environment variable EXTRADAMODULE *" | |
115 | @echo "****************************************************************************************************" | |
116 | @echo | |
117 | ||
118 | ||
119 | endif |