Do not save CVS subdirectories
[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                 @rm -f /tmp/saves
88                 @ls -1d $^ | sed -e "s/^/$(ALICE_LEVEL)\//" > /tmp/saves
89                 @cd $(ALICE) ; \
90                 gtar cvfz $@ --exclude '*.o' --exclude '*Cint.*' \
91                 --exclude '*/roothtml/*' --exclude '*/CVS' `cat /tmp/saves` 
92
93 alidepend:
94                 @for i in $(ALIROOT_DIRS) ; do \
95                     ${MAKE} -C $$i depend ; \
96                 done
97
98 htmldocnew:             FORCE
99                 @for i in $(ALIROOT_DIRS) ; do \
100                     echo "Making HTML doc for $$i" ; \
101                     rm -rf $(ALICE_ROOT)/$$i/html ; \
102                     cd $(ALICE_ROOT)/$$i ; \
103                     aliroot -b -q mkhtml.C > /dev/null; \
104                     for j in `ls *.C` ; do \
105                        echo $$j ; \
106                        aliroot -b -q "mkhtml.C(\"$$j\")" > /dev/null; \
107                     done \
108                 done
109
110
111 htmldoc:                FORCE
112                 @rm -rf html/roothtml
113                 @rm -f /tmp/macros
114                 @cd html ;\
115                 aliroot -q -b "mkhtml.C(0,1)" ;\
116                 ls ../macros/*.C > /tmp/macros ;\
117                 for i in $(ALIROOT_DIRS) ; do \
118                         ls ../$$i/*.C 2>/dev/null >> /tmp/macros ;\
119                 done ;\
120                 for i in `cat /tmp/macros` ; do \
121                         echo $$i ; \
122                         aliroot -b -q "mkhtml.C(\"$$i\")" > /dev/null ;\
123                 done ;\
124                 ./makeExampleList ;
125                 @ln -s ../../picts html/roothtml/gif
126                 @ln -s ../../../picts html/roothtml/src/gif
127                 @ln -s ../../../picts html/roothtml/examples/gif
128
129 clean:  FORCE
130                 @rm -f *~ \#*
131                 @for i in $(ALIROOT_DIRS) ; do \
132                     ${MAKE} -C $$i macroclean ; \
133                 done
134
135 libclean:  FORCE
136                 @rm -f *~ \#*
137                 @for i in $(LIBRARY_DIRS) ; do \
138                     ${MAKE} -C $$i macroclean ; \
139                 done
140
141 allclean: libclean clean