Do not export Make-depends, they are generated automatically now.
[u/mrichter/AliRoot.git] / Makefile
1 ############################### Main Makefile #################################
2
3 # Include machine specific definitions
4
5 include $(ALICE_ROOT)/conf/GeneralDef
6 include $(ALICE_ROOT)/conf/MachineDef.$(ALICE_TARGET)
7
8 MAKEFLAGS =
9
10 ##### MACROS #####
11
12 PACKAGE = Main
13
14 ##### Module libraries #####
15
16 ALIROOT_DIRS            = STEER TGeant3 TRD PHOS TPC ZDC MUON PMD FMD TOF ITS CASTOR \
17                   RICH STRUCT EVGEN
18
19 ##### TARGETS #####
20  
21 default:      lib bin alilibs aliroot
22
23 lib bin:
24         @mkdir $@
25
26 alilibs:  lib
27         @for i in $(ALIROOT_DIRS) ; do \
28            ${MAKE} -C $$i depend ; \
29         done
30         @for i in $(ALIROOT_DIRS) ; do \
31            ${MAKE} -C $$i ; \
32         done
33
34 aliroot: bin
35         @${MAKE} -C ALIROOT
36
37 geant321:  lib
38         @-${MAKE} -C GEANT321 depend
39         @${MAKE} -C GEANT321
40
41 pythia:    lib
42         @-${MAKE} -C PYTHIA depend
43         @${MAKE} -C PYTHIA
44
45 pdf:       lib
46         @-${MAKE} -C PDF depend
47         @${MAKE} -C PDF
48
49 minicern:  lib
50         @-${MAKE} -C MINICERN depend
51         @${MAKE} -C MINICERN
52
53 cernlibs: geant321 pythia minicern pdf
54
55 all:    default cernlibs
56
57 FORCE:
58
59 ############################### General Macros ################################
60
61 include $(ALICE_ROOT)/conf/GeneralMacros
62
63 ############################### Specific Macros ###############################
64
65 STRUCT_DIRS     = html conf macros data share include Euclid picts \
66                   Makefile README .rootrc
67
68 LIBRARY_DIRS    = MINICERN GEANT321 PYTHIA PDF
69
70 dist: AliRoot3.01.tar.gz
71
72 AliRoot3.01.tar.gz: $(STRUCT_DIRS) $(ALIROOT_DIRS) ALIROOT
73
74 distall: AliOffline3.01.tar.gz
75
76 AliOffline3.01.tar.gz: $(STRUCT_DIRS) $(ALIROOT_DIRS) $(LIBRARY_DIRS) ALIROOT
77
78 distlib: AliLib3.10.tar.gz
79
80 AliLib3.01.tar.gz: $(LIBRARY_DIRS)
81
82 AliRoot3.01.tar.gz AliLibs3.01.tar.gz AliOffline3.01.tar.gz:
83                 @rm -f $(ALICE)/$@ 
84                 @rm -f `find . -name '*~' -print` \
85                        `find . -name '*.bak' -print` \
86                        `find . -name '.*~' -print` \
87                        `find . -name '*\#*' -print` 
88                 @rm -f /tmp/saves
89                 @ls -1d $^ | sed -e "s/^/$(ALICE_LEVEL)\//" > /tmp/saves
90                 @cd $(ALICE) ; \
91                 gtar cvfz $@ --exclude '*.o' --exclude '*Cint.*' \
92                 --exclude '*/roothtml/*' --exclude '*/CVS' \
93                 --exclude Make-depend `cat /tmp/saves` 
94
95 alidepend:
96                 @for i in $(ALIROOT_DIRS) ; do \
97                     ${MAKE} -C $$i depend ; \
98                 done
99
100 htmldocnew:             FORCE
101                 @for i in $(ALIROOT_DIRS) ; do \
102                     echo "Making HTML doc for $$i" ; \
103                     rm -rf $(ALICE_ROOT)/$$i/html ; \
104                     cd $(ALICE_ROOT)/$$i ; \
105                     aliroot -b -q mkhtml.C > /dev/null; \
106                     for j in `ls *.C` ; do \
107                        echo $$j ; \
108                        aliroot -b -q "mkhtml.C(\"$$j\")" > /dev/null; \
109                     done \
110                 done
111
112
113 htmldoc:                FORCE
114                 @rm -rf html/roothtml
115                 @rm -f /tmp/macros
116                 @cd html ;\
117                 aliroot -q -b "mkhtml.C(0,1)" ;\
118                 ls ../macros/*.C > /tmp/macros ;\
119                 for i in $(ALIROOT_DIRS) ; do \
120                         ls ../$$i/*.C 2>/dev/null >> /tmp/macros ;\
121                 done ;\
122                 for i in `cat /tmp/macros` ; do \
123                         echo $$i ; \
124                         aliroot -b -q "mkhtml.C(\"$$i\")" > /dev/null ;\
125                 done ;\
126                 ./makeExampleList ;
127                 @ln -s ../../picts html/roothtml/gif
128                 @ln -s ../../../picts html/roothtml/src/gif
129                 @ln -s ../../../picts html/roothtml/examples/gif
130
131 clean:  FORCE
132                 @rm -f *~ \#*
133                 @for i in $(ALIROOT_DIRS) ; do \
134                     ${MAKE} -C $$i macroclean ; \
135                 done
136
137 libclean:  FORCE
138                 @rm -f *~ \#*
139                 @for i in $(LIBRARY_DIRS) ; do \
140                     ${MAKE} -C $$i macroclean ; \
141                 done
142
143 allclean: libclean clean