1 ############################### Main Makefile #################################
3 # Include machine specific definitions
5 include $(ALICE_ROOT)/conf/GeneralDef
6 include $(ALICE_ROOT)/conf/MachineDef.$(ALICE_TARGET)
14 ##### Module libraries #####
16 ALIROOT_DIRS = STEER TGeant3 TRD PHOS TPC ZDC MUON PMD FMD TOF ITS \
17 CASTOR RICH STRUCT EVGEN RALICE
21 default: lib bin alilibs aliroot
27 @for i in $(ALIROOT_DIRS) ; do \
28 ${MAKE} -C $$i headers ; \
30 @for i in $(ALIROOT_DIRS) ; do \
31 ${MAKE} -C $$i depend ; \
33 @for i in $(ALIROOT_DIRS) ; do \
41 @-${MAKE} -C GEANT321 depend
45 @-${MAKE} -C PYTHIA depend
49 @-${MAKE} -C PDF depend
53 @-${MAKE} -C MINICERN depend
56 cernlibs: geant321 pythia minicern pdf
62 ############################### General Macros ################################
64 include $(ALICE_ROOT)/conf/GeneralMacros
66 ############################### Specific Macros ###############################
68 STRUCT_DIRS = html conf macros data share include Euclid picts \
69 Makefile README .rootrc
71 LIBRARY_DIRS = MINICERN GEANT321 PYTHIA PDF
73 dist: AliRoot$(VERSION).tar.gz
75 AliRoot$(VERSION).tar.gz: $(STRUCT_DIRS) $(ALIROOT_DIRS) ALIROOT
77 distall: AliOffline$(VERSION).tar.gz
79 AliOffline$(VERSION).tar.gz: $(STRUCT_DIRS) $(ALIROOT_DIRS) $(LIBRARY_DIRS) ALIROOT
81 distlib: AliLibs$(VERSION).tar.gz
83 AliLibs$(VERSION).tar.gz: $(LIBRARY_DIRS)
85 AliRoot$(VERSION).tar.gz AliLibs$(VERSION).tar.gz AliOffline$(VERSION).tar.gz:
87 @rm -f `find . -name '*~' -print` \
88 `find . -name '*.bak' -print` \
89 `find . -name '.*~' -print` \
90 `find . -name '*\#*' -print`
92 @ls -1d $^ | sed -e "s/^/$(ALICE_LEVEL)\//" > /tmp/saves
94 gtar cvfz $@ --exclude '*.o' --exclude '*Cint.*' \
95 --exclude '*/roothtml/*' --exclude '*/CVS' \
96 --exclude Make-depend --exclude '*html/gif' \
100 @for i in $(ALIROOT_DIRS) ; do \
101 echo "Making HTML doc for $$i" ; \
102 rm -rf $(ALICE_ROOT)/$$i/html ; \
103 cd $(ALICE_ROOT)/$$i ; \
104 aliroot -b -q mkhtml.C > /dev/null; \
105 for j in `ls *.C` ; do \
107 aliroot -b -q "mkhtml.C(\"$$j\")" > /dev/null; \
113 @rm -rf html/roothtml
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 ;\
122 for i in `cat /tmp/macros` ; do \
124 aliroot -b -q "mkhtml.C(\"$$i\")" > /dev/null ;\
127 @ln -s ../picts html/picts
128 @ln -s ../../picts html/roothtml/picts
129 @ln -s ../../../picts html/roothtml/src/picts
130 @ln -s ../../../picts html/roothtml/examples/picts
134 @for i in $(ALIROOT_DIRS) ALIROOT ; do \
135 ${MAKE} -C $$i macroclean ; \
140 @for i in $(LIBRARY_DIRS) ; do \
141 ${MAKE} -C $$i macroclean ; \
144 allclean: libclean clean