]> git.uio.no Git - u/mrichter/AliRoot.git/blame - build/MakefileDA
New Makefile for packaging of the online calibration detector algorithms
[u/mrichter/AliRoot.git] / build / MakefileDA
CommitLineData
17cb72ed 1#-*- Mode: Makefile -*-
2
3ifdef ALIROOTMODULES
4
5CXXFLAGS+=-I${ALICE_ROOT}/RAW
6
7ifneq ($(EXTRADAMODULE),)
8CXXFLAGS+=-I${ALICE_ROOT}/$(EXTRADAMODULE)
9endif
10
11DASRC=${DAMODULE}/${DAMODULE}da.cxx
12DADEP=${DAMODULE}/${DAMODULE}da.d
13DAOBJ=${DAMODULE}/tgt_${ALICE_TARGET}/${DAMODULE}da.o
14DALIB=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}/lib${DAMODULE}DA.a
15DAEXE=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}/${DAMODULE}da.exe
16
17DAQDADIR=${ALICE}/daqDAlib
18DAQDALIB=$(DAQDADIR)/libdaqDA.a
19
20ROOTLIBDIR=$(shell root-config --libdir)
21
22else
23
24CXXFLAGS+=$(shell date-config --cflags)
25CXXFLAGS+=-Iinclude
26LD=$(CXX)
27
28DASRC=./${DAMODULE}da.cxx
29DADEP=./${DAMODULE}da.d
30DAOBJ=./${DAMODULE}da.o
31DALIB=./lib${DAMODULE}DA.a
32DAEXE=./${DAMODULE}da.exe
33
34DAQDADIR=./daqDAlib
35DAQDALIB=$(DAQDADIR)/libdaqDA.a
36
37ROOTLIBDIR=.
38
39LIBPATH=
40
41endif
42
43SYSLIBS="-ldl"
44MONITORLIBS=$(shell date-config --monitorlibs=noshift)
45
46ALIROOTALIBS=$(RAWDatabaseALIB) $(RAWDatarecALIB) $(RAWDatasimALIB) $(STEERALIB) $(CDBALIB) $(ESDALIB)
47
48ALIROOTALIBS+=$($(DAMODULE)baseALIB) $($(DAMODULE)recALIB) $($(DAMODULE)simALIB)
49
50ifneq ($(EXTRADAMODULE),)
51
52ALIROOTALIBS+=$($(EXTRADAMODULE)baseALIB) $($(EXTRADAMODULE)recALIB) $($(EXTRADAMODULE)simALIB)
53
54endif
55
56static-DA: $(DAEXE)
57
58$(DAEXE): $(LIBPATH) $(DAOBJ) $(DALIB) $(DAQDALIB)
59
60 $(LD) $(LDFLAGS) -o $@ $(DAOBJ) $(DALIB) \
61 $(SYSLIBS) \
62 $(ROOTLIBDIR)/libRoot.a \
63 $(ROOTLIBDIR)/libfreetype.a $(ROOTLIBDIR)/libpcre.a \
64 $(MONITORLIBS) $(DAQDALIB)
65
66$(DAOBJ): $(DASRC) $(DAQDADIR) $(DADEP)
67 $(CXX) -c $(CXXFLAGS) -I$(DAQDADIR) $< -o $@
68
69$(DADEP): $(DASRC) $(DAQDADIR)
70 $(CPP) -MM $(CXXFLAGS) -I$(DAQDADIR) $< > $@
71
72DAINCLUDES=$(sort $(filter-out %.o:,$(filter-out %.cxx,$(filter-out \,$(shell cat $(DADEP))))))
73
74-include $(DADEP)
75
76$(DALIB): $(ALIROOTALIBS)
77 @rm -rf $@
78 @rm -rf junk
79 mkdir junk && cd junk && $(addprefix $(AR) x ../,$(addsuffix &&,$^)) $(AR) r $@ *.o && cd .. && rm -rf junk
80
81clean-DA:
82 @rm -f $(DAEXE)
83 @rm -f $(DAOBJ)
84 @rm -f $(DADEP)
85ifdef ALIROOTMODULES
86 @rm -f $(DALIB)
87 @rm -f $(ALIROOTALIBS)
88endif
89
90tar-DA: $(DASRC) $(DALIB) $(DAQDADIR) $(DADEP)
91 @rm -rf $(DAMODULE)da.tar
92 @rm -rf junk
93 mkdir junk && mkdir junk/include && \
94 cp -a $(DASRC) $(DALIB) $(ROOTLIBDIR)/libRoot.a $(ROOTLIBDIR)/libfreetype.a $(ROOTLIBDIR)/libpcre.a $(DAQDADIR) junk && \
95 $(foreach daincfile,$(DAINCLUDES), cp -a $(daincfile) junk/include &&) \
96 cp -a build/MakefileDA junk/Makefile && \
97 cd junk && \
98 tar cvf ../$(DAMODULE)da.tar * && \
99 cd .. && rm -rf junk