]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/Makefile
class with static analysis helper functions
[u/mrichter/AliRoot.git] / PWG0 / Makefile
1 # $Id$
2
3 PACKAGE = PWG0base
4
5 default-target: libPWG0base.so
6
7 include $(ROOTSYS)/test/Makefile.arch
8 include lib$(PACKAGE).pkg
9
10 ALICEINC      = -I. 
11
12 ### define include dir for local case and par case
13 ifneq ($(ALICE_ROOT),)
14   ALICEINC += -I$(ALICE_ROOT)/include
15 else
16   ifneq ($(ESD_INCLUDE),)
17     ALICEINC += -I../$(ESD_INCLUDE)
18   endif
19 endif
20
21 CXXFLAGS     += $(ALICEINC) -g
22 SRCS         += dict.cxx
23 OBJS          = $(SRCS:.cxx=.o)
24 PARFILE       = $(PACKAGE).par
25
26 lib$(PACKAGE).so: $(OBJS)
27         @echo "Linking" $@ ...
28         @/bin/rm -f $@
29 ifeq ($(PLATFORM),macosx)
30         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
31 else
32         @$(LD) $(SOFLAGS) $(LDFLAGS) $(OBJS) -o $@
33 endif
34         @chmod a+x $@
35         @echo "done"
36
37 %.o:    %.cxx %.h
38         $(CXX) $(CXXFLAGS) -c $< -o $@
39
40 clean:
41         @rm -f $(OBJS) core *~ *.so dict.* $(PARFILE)
42
43 dict.cxx dict.h: $(HDRS) $(DHDR)
44         @echo "Generating dictionary ..."
45         @[ -f dict ] || rm -f $@
46         rootcint -f $@ -c $(ALICEINC) $^
47
48 ### CREATE PAR FILE
49
50 $(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out dict.%, $(HDRS) $(SRCS) $(DHDR) $(PKGFILE) Makefile Makefile.arch lib$(PACKAGE).pkg PROOF-INF))
51         @echo "Creating archive" $@ ...
52         @tar cfzh $@ $(PACKAGE)
53         @rm -rf $(PACKAGE)
54         @echo "done"
55
56 $(PACKAGE)/Makefile: Makefile #.$(PACKAGE)
57         @echo Copying $< to $@ with transformations
58         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
59         @sed 's/include \$$(ROOTSYS)\/test\/Makefile.arch/include Makefile.arch/' < $^ > $@
60
61 $(PACKAGE)/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
62         @echo Copying $< to $@
63         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
64         @cp $^ $@
65
66 $(PACKAGE)/PROOF-INF: PROOF-INF.$(PACKAGE)
67         @echo Copying $< to $@
68         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
69         @cp -r $^ $@
70
71 $(PACKAGE)/%: %
72         @echo Copying $< to $@
73         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
74         @cp $< $@
75
76 test-%.par: %.par
77         @echo "INFO: The file $< is now tested, in case of an error check in par-tmp."
78         @mkdir -p par-tmp
79         @cd par-tmp; tar xfz ../$<;     cd $(subst .par,,$<); PROOF-INF/BUILD.sh
80         @rm -rf par-tmp
81         @echo "INFO: Testing succeeded (already cleaned up)"