source: trunk/Mars/Makefile.rules@ 17879

Last change on this file since 17879 was 17306, checked in by tbretz, 11 years ago
Implemented 'make sge'. Must be used as 'make -j sge'
File size: 2.6 KB
Line 
1include $(CINT)Dep.d
2
3$(MRPROPERS):
4 @echo " Doing Mr.Proper in $(@:.mrproper=)"
5 (cd $(@:.mrproper=); ($(MAKE) -f Makefile mrproper > /dev/null); cd ..;)
6
7$(CONDOR):
8 @echo " Starting make in $(@:.condor=) via condor"
9 (echo universe=vanilla; \
10 echo executable=/bin/bash; \
11 echo arguments=-c make; \
12 echo log=../.makecondor.log; \
13 echo initialdir=$(@:.condor=); \
14 echo getenv=true; \
15 echo notification=never; \
16 echo queue) | condor_submit > /dev/null
17# (cd $(@:.condor=); (condor_run $(MAKE) &); cd ..;)
18# echo output=.makecondor.out; \
19# echo error=.makecondor.err; \
20
21$(SGE):
22 @echo " Starting make in $(@:.sge=) via sge"
23 (cd $(@:.sge=); qsub -N $@ -sync y -b yes -q test -cwd /bin/bash -l -c make; cd ..;)
24
25$(CLEANERS):
26 @echo "Cleaning $(@:.clean=):"
27 (cd $(@:.clean=); $(MAKE) -f Makefile clean; cd ..;)
28
29$(LIBRARIES):
30 @echo " Calling make in $(@:.a=)"
31 $(MAKE) -C $* -f Makefile all
32
33$(LIB): $(OBJS) $(CINT)Cint.o
34 @echo " - Building Library $(LIB)"
35 $(CXX) $(CXXFLAGS) $(DYNLIB) $(OBJS) $(CINT)Cint.o -o $(LIB)
36 @echo " "
37
38$(CINT)Cint.cc: $(HEADERS) $(CINT)LinkDef.h
39 @echo " - Generating dictionary $(CINT)Cint.cc"
40 rootcint -f $(CINT)Cint.cc \
41 -c $(INCLUDES) $(DEFINES) $(HEADERS) $(CINT)Incl.h $(CINT)LinkDef.h
42
43%.d:
44 @echo " - Generating dependencies" $@
45 rmkdepend -f- -Y -w 3000 -- $(INCLUDES) -- $(SRCFILES) -- $(PROGRAMS:=.cc) 2> /dev/null | \
46 sed 's/^\(.*\).o:/$@ \1.o:/' > $@
47 echo "$@: Makefile" >> $@
48
49%.o: %.cxx
50 @echo " - Compiling" $<
51 $(CXX) $(CXXFLAGS) -c $< -o $@
52
53%.o: %.cc
54 @echo " - Compiling" $<
55 $(CXX) $(CXXFLAGS) -c $< -o $@
56
57%.o: %.c
58 @echo " - Compiling" $<
59 $(CC) $(CFLAGS) -c $< -o $@
60
61#
62# The cleaning facility
63#
64
65rmcint:
66 @echo " Removing cint-stuff..."
67 @rm -f *Cint.*
68
69rmlib:
70 @echo " Removing libraries..."
71 @echo " "
72 @rm -f lib/lib*.a lib*.a
73
74rmobjs:
75 @echo " Removing object files..."
76 @rm -f *.o
77
78rmdep:
79 @echo " Removing dependency files..."
80 @rm -f *Dep.d */*Dep.d
81
82rmcore:
83 @echo " Removing core files..."
84 @rm -f core*
85
86rmbin:
87 @echo " Removing binary files..."
88 @rm -f $(PROGRAMS) $(SOLIB) $(DYLIB) so_locations
89
90rmbak:
91 @echo " Removing backup files..."
92 @rm -f *~ kk.kk *.bak .#* .*~
93
94rmbakmac:
95 @echo " Removing backup files in macros"
96 @rm -f macros/*~
97
98rmhtml:
99 @echo " Removing htmldoc-tree"
100 rm -rf htmldoc/examples
101 rm -rf htmldoc/src
102 ls htmldoc/* | grep "htmldoc/" | grep -v images | grep -v CVS | xargs rm -f
103
104clean: rmcint rmobjs rmdep rmcore rmlib
105
106cflags:
107 @echo $(INCLUDES) $(CXXFLAGS)
108
109diff:
110 @svn diff | grep -v "^? " > mars.diff
111
112#zdiff:
113# @cvs -z9 diff | grep -v "^? " > mars.diff
Note: See TracBrowser for help on using the repository browser.