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