source: CMT/v1r16p20040901/mgr/Makefile @ 1

Last change on this file since 1 was 1, checked in by arnault, 19 years ago

Import all tags

File size: 12.0 KB
Line 
1
2cppflags  = $(CFLAGS)
3
4
5cpp = g++ -O2
6
7ifeq ($(CMTBIN),LinuxDebug)
8cpp = g++ -g
9endif
10
11ifeq ($(CMTBIN),Linux-i686Debug)
12cpp = g++ -g
13endif
14
15ifeq ($(CMTBIN),LinuxProf)
16cpp = g++ -g -pg
17endif
18
19ifeq ($(CMTBIN),Linux-i686Prof)
20cpp = g++ -g -pg
21endif
22
23
24ifeq ($(CMTBIN),LinuxInsure)
25cpp = insure -g
26endif
27
28ifeq ($(CMTBIN),OSF1DEB)
29cpp           = cxx -g3 -pg
30endif
31
32ifeq ($(CMTBIN),OSF1)
33cpp           = cxx
34endif
35
36ifeq ($(CMTBIN),SunOS)
37cpp       = CC
38endif
39
40ifeq ($(CMTBIN),HP-UX)
41cpp       = aCC
42endif
43
44ifeq ($(CMTBIN),Darwin)
45cpp       = c++ -O2
46endif
47
48#ifeq ($(CMTBIN),OSF1)
49#remote_launch = rsh
50#else
51remote_launch = ssh
52#endif
53
54ifeq ($(CMTBIN),CYGWIN_NT-5.1-i686)
55cpp = g++ -O2 -Wno-deprecated
56endif
57
58ifeq ($(CMTBIN),LynxOS-PowerPC)
59cpp = g++
60endif
61
62cppcomp   = $(cpp) -c -I${inc} $(cppflags)
63cpplink   = $(cpp)
64
65src       = ../src/
66inc       = ../src/
67mgr       = ../mgr/
68bin       = ../${CMTBIN}/
69binshort  = ../${CMTBIN}
70
71cpp_silent =
72cpp_echo = @--->
73link_silent =
74link_echo = @--->
75
76SHELL     = /bin/sh
77
78tag       = 
79
80application_suffix = .exe
81cmtexe    = $(CMTROOT)/$(CMTBIN)/cmt.exe
82
83build_dependencies = test -d $(bin) || mkdir -p $(binshort); test -f $(cmtexe) || cp ../mgr/cmt_dependencies.make $(bin) ; echo 
84
85PACKAGE_ROOT = ${CMTROOT}
86
87all :: dirs
88        -@cd $(bin); /bin/rm -f last-rebuild; date >last-rebuild
89
90dirs ::
91        @if test ! -d $(bin) ; then mkdir $(binshort) ; fi
92
93#---------------------------------------------------------
94#
95# A list of some hosts where it is possible to rebuild CMT
96#
97#---------------------------------------------------------
98hosts       = asc dxplus papou1-fe hp2 aleph hp1 hpplus ccahp atlas04 ccasn atlas50
99gmake_hosts = lx1 atlinux lxtest ax7 ccali ccali61 atlas
100make_hosts  = virgo-control1 rio0a vmpc38a vmpc13a
101zsh_hosts   = ccars rsplus
102#---------------------------------------------------------
103
104#---------------------------------------------------------
105#
106# Re-building CMT
107#
108#---------------------------------------------------------
109
110done :
111        @echo "CMT has been succesfully rebuilt."
112
113#       @echo "A mail to Christian Arnault is now being sent to acknowledge"
114#       @echo "your use of CMT".
115#       @echo "Congratulations !!!"
116#       @echo "CMT rebuilt at $(target)(`hostname`) by ${USER} in ${CMTROOT}" | \
117#       mail arnault@lal.in2p3.fr
118
119###     mailx -s "CMT rebuilt by ${USER} at `hostname`" arnault@lal.in2p3.fr
120
121LAL : asc lx1 papou1-fe hp2 #virgo-control1
122        @gmake done target=$@
123LHCB : lxtest hpplus dxplus rsplus
124        @gmake done target=$@
125Atlas : atlinux atlas50
126        @gmake done target=$@
127Virgo : ax7 vmpc13a rio0a
128        @gmake done target=$@
129CCIN2P3 : ccars ccahp ccali ccasn
130        @gmake done target=$@
131
132#---------------------------------------------------------
133
134$(hosts) : 
135        $(remote_launch) $@ "sh -c '(cd $(PACKAGE_ROOT)/mgr; . setup.sh; $(MAKE) --no-print-directory $(MAKEFLAGS))'"
136
137$(BOOL_hosts) :
138        $(remote_launch) $@ "zsh -c '(cd $(PACKAGE_ROOT)/mgr; . setup.sh; $(MAKE) --no-print-directory cppflags=-D_BOOL $(MAKEFLAGS))'"
139
140$(gmake_hosts) :
141        $(remote_launch) $@ "sh -c '(cd $(PACKAGE_ROOT)/mgr; . setup.sh; gmake $(MAKEFLAGS))'"
142
143$(zsh_hosts) :
144        $(remote_launch) $@ "zsh -c '(cd $(PACKAGE_ROOT)/mgr; . setup.sh; gmake $(MAKEFLAGS))'"
145
146$(make_hosts) :
147        $(remote_launch) $@ "sh -c '(cd $(PACKAGE_ROOT)/mgr; . setup.sh; make $(MAKEFLAGS))'"
148#---------------------------------------------------------
149
150
151CFLAGS = 
152clinkflags = 
153
154#---------------------------------------------------------
155all :: cmt done
156        @echo all ok
157        @cd $(bin); /bin/rm -f cmt; cp cmt.exe cmt
158
159cmt_install_action = echo
160cmt_uninstall_action = echo
161CMTINSTALLAREA = 
162
163include cmt.make
164#---------------------------------------------------------
165
166#---------------------------------------------------------
167# This procedure installs a hook into the commitinfo management file.
168# then the
169#---------------------------------------------------------
170installcvs :
171        cd `echo ${CVSROOT} | cut -f4 -d':'`/CVSROOT;\
172        if [ "`grep cmt_buildcvsinfos loginfo`" = "" ] ; then \
173          echo "======== Configuring loginfo in `pwd`>>>>>> "; \
174          chmod u+w loginfo; \
175          echo '.cmtcvsinfos $${CVSROOT}/CVSROOT/cmt_buildcvsinfos2.sh' >> loginfo; \
176          chmod u-w loginfo; \
177        else \
178          echo "======== loginfo already configured in `pwd` >>>>>> "; \
179        fi; \
180        cp ${CMTROOT}/mgr/cmt_buildcvsinfos2.sh .; \
181        /bin/rm -rf ../.cmtcvsinfos/*
182
183#---------------------------------------------------------
184
185#---------------------------------------------------------
186###binaries = Linux OSF1 HP-UX VisualC
187##binaries = $(shell '/usr/bin/find ../ -name cmt.exe')
188
189doxygen ::
190        . /lal/Doxygen/Linux/setup.sh; cd ../doc; /bin/rm -Rf Doxygen; doxygen
191        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/Doxygen
192
193pdf ::
194        html2ps -nu -o ../doc/CMTDoc.ps ../doc/CMTDoc.html
195        ps2pdf ../doc/CMTDoc.ps ../doc/CMTDoc.pdf
196        html2ps -nu -o ../doc/CMTFAQ.ps ../doc/CMTFAQ.html
197        ps2pdf ../doc/CMTFAQ.ps ../doc/CMTFAQ.pdf
198
199python = /afs/cern.ch/sw/lcg/external/Python/2.2.2/rh73_gcc32/bin/python2.2
200
201gendoc ::
202        @cd ../doc; $(python) gendoc.py CMTDoc.xml >|CMTDoc.html
203        @echo "CMTDoc.html generated from CMTDoc.xml"
204
205
206docs ::
207        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/index.html
208        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/table.html
209        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/intro.html
210        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/projectmanagement.html
211        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/copyright.html
212        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/documents.html
213        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/discussion.html
214        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/repository.html
215        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/download.html
216        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/install.html
217        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/CMTDoc.html
218        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/CMTDoc.ps
219        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/CMTDoc.pdf
220        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/CMTFAQ.html
221        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/ReleaseNotes.html
222        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/ChangeLog
223        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/mgr/ChangeLog.php
224        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/CMTFAQ.ps
225        ${CMTROOT}/mgr/cmt_export.sh CMT/ ${CMTROOT}/doc/CMTFAQ.pdf
226
227#        echo '  <tr><td><a href="CMT-'$${version}'-1.i386.rpm">RPM for redhat 7.2</a></td></tr>' >>doc/CMTDownload.html;
228
229
230bintar :: docs
231        cd ..; root=`pwd`; \
232        tag=`cmt version`; \
233        version=`basename $${root}`; \
234        tag=$${version} ; \
235        package=`dirname $${root}`; \
236        package=`basename $${package}`; \
237        cat doc/CMTDownload1.html >| doc/CMTDownload.html; \
238        echo '  <tr><td><a href="CMT'$${version}'.tar.gz">Source kit</a> </td></tr>' >> doc/CMTDownload.html; \
239        binaries=`/usr/bin/find ./ -name cmt.exe | sed -e 's#[.]/##' -e 's#/.*##'`; \
240        for f in `echo $${binaries}`; do \
241          echo '  <tr><td><a href="CMT'$${version}$${f}'.tar.gz">'$${f}'</a> </td></tr>' >> doc/CMTDownload.html; \
242        done; \
243        cat doc/CMTDownload2.html >> doc/CMTDownload.html; \
244        ${CMTROOT}/mgr/cmt_export.sh $${package}/ $${root}/doc/CMTDownload.html $${tag}; \
245        ${CMTROOT}/mgr/cmt_export.sh $${package}/ $${root}/rpm/CMT-$${version}-1.i386.rpm $${tag}; \
246        cd ../../; \
247        for branch in `echo $${binaries}` ; \
248        do \
249          echo $${branch} ; \
250          tarfile=$${package}/$${package}$${version}$${branch}.tar; \
251          tar cf $${tarfile} $${package}/$${version}/$${branch} ; \
252          gzip $${tarfile}; \
253          ${CMTROOT}/mgr/cmt_export.sh $${package}/ $${tarfile}.gz $${tag} ; \
254        done
255
256
257bins :
258
259
260
261#----------------------------------------------------------
262#
263#  Building an RPM for CMT.
264#
265#   reinstallation is done by:
266#
267#  rpm -Uvh --relocate /CMT=/newdir/CMT CMT-${version}-1.i386.rpm
268#
269#----------------------------------------------------------
270rpm ::
271        version=`$(cmtexe) version`; \
272        tempdir=/tmp/CMT; \
273        rm -rf $${tempdir}; \
274        for f in BUILD RPMS SOURCES SPECS SRPMS ; do \
275          mkdir -p $${tempdir}/$${f}; \
276        done; \
277        (cd ../; tar cf $${tempdir}/SOURCES/CMT$${version}.tar --exclude CVS fragments mgr src); \
278        gzip $${tempdir}/SOURCES/CMT$${version}.tar; \
279        if test ! -d ../rpm; then mkdir -p ../rpm; fi; \
280        rpmbuild -ba --define "_topdir $${tempdir}" --define "_version $${version}" CMT.spec; \
281        cp $${tempdir}/RPMS/i386/CMT-$${version}-1.i386.rpm ../rpm ; \
282        cp $${tempdir}/SRPMS/CMT-$${version}-1.src.rpm ../rpm ; \
283        rm -r $${tempdir}
284
285#
286#        cp CMT.spec $${tempdir}; \
287#        find ../fragments ../mgr ../src ! -path '*/CVS*' ! -name '*~' ! -type d | \
288#          sed -e 's#[.][.]#%{prefix}/%{version}#' >>$${tempdir}/CMT.spec ; \
289#
290
291
292srctar ::
293        ${CMTROOT}/mgr/cmt_tar_export.sh CVS mgr src fragments Linux Linux-gcc2 Visual grafviz java doc
294
295
296Export :: srctar bintar
297        @echo Export done
298
299democlean ::
300        /bin/rm -rf ../demo/*
301
302demo_location = ../demo
303demo_sequence = demo1
304
305demo :: democlean
306        @echo "------------------------------------------"
307        @echo "Starting general auto test sequence"
308        @echo "  Creating $(demo_location) work area..."
309        @mkdir -p $(demo_location)
310        @echo "  Creating all $(demo_sequence) packages..."
311        cd $(demo_location); \
312        version=`$(cmtexe) version`; \
313        ($(cmtexe) run_sequence ${CMTROOT}/src/demo/$(demo_sequence).cmt | \
314          sed -e "s#$${CMTROOT}#"'$${CMTROOT}'"#" \
315              -e "s#$${version}#"'$${version}'"#" \
316              -e "s#$${CMTCONFIG}#"'$${CMTCONFIG}'"#"; \
317          ) >$(demo_sequence).txt
318        @echo "  Comparing results with reference output (${CMTROOT}/src/demo/$(demo_sequence).out) ..."
319        @cd $(demo_location); \
320        diff $(demo_sequence).txt ${CMTROOT}/src/demo/$(demo_sequence).out; s=$$?; \
321        if test $${s} = 0; then \
322          echo "    => no differences"; \
323        else \
324          echo "    => errors?"; \
325          cp $(demo_sequence).txt ${CMTROOT}/src/demo/$(demo_sequence).out; \
326        fi
327
328#---------------------------------------------------------
329
330
331tprivate :: democlean
332        @echo "------------------------------------------"; \
333        sequence=tprivate; \
334        location=../demo; \
335        echo "Starting auto test sequence on private uses"; \
336        echo "  Creating $${location} work area..."; \
337        mkdir -p $${location}; \
338        cd $${location}; \
339        version=`$(cmtexe) version`; \
340        echo "  Creating all $${sequence} packages..."; \
341        ($(cmtexe) run_sequence ${CMTROOT}/src/demo/$${sequence}.cmt | \
342          sed -e "s#$${CMTROOT}#"'$${CMTROOT}'"#" \
343              -e "s#$${version}#"'$${version}'"#" \
344              -e "s#$${CMTCONFIG}#"'$${CMTCONFIG}'"#"; \
345          ) >$${sequence}.txt; \
346        echo "  Comparing results with reference output (${CMTROOT}/src/demo/$${sequence}.out) ..."; \
347        diff $${sequence}.txt ${CMTROOT}/src/demo/$${sequence}.out; s=$$?; \
348        if test $${s} = 0; then \
349          echo "    => no differences"; \
350        else \
351          echo "    => errors?"; \
352          cp $${sequence}.txt ${CMTROOT}/src/demo/$${sequence}.out; \
353        fi
354
355
356
357#---------------------------------------------------------
358
359help ::
360        @echo "------------------------------------------------------------"
361        @echo "  [all]      : Default target"
362        @echo "  "
363        @echo "  installcvs : "
364        @echo "  doxygen    : Documentation generation"
365        @echo "  docs       : Documentation production and installation"
366        @echo "  pdf        : Convert html docs into pdf and ps"
367        @echo "  gendoc     : Convert xml doc into html"
368        @echo "  srctar     : Production and installation of source tar-ball"
369        @echo "                (include Linux binary directory)"
370        @echo "  bintar     : Production and installation of binary tar-balls"
371        @echo "  rpm        : Production of the RPM"
372        @echo "  Export     : Installation in the web site"
373        @echo "  democlean  : Cleaning the demo area"
374        @echo "  demo       : Run the demo sequence on private uses"
375        @echo "      (Site-specific targets for building CMT)"
376        @echo "  LAL        : asc lx1 papou1-fe hp2 #virgo-control1"
377        @echo "  LHCB       : lxtest hpplus dxplus rsplus"
378        @echo "  Atlas      : atlinux atlas50"
379        @echo "  Virgo      : ax7 vmpc13a rio0a"
380        @echo "  CCIN2P3    : ccars ccahp ccali ccasn"
381        @echo "------------------------------------------------------------"
382
Note: See TracBrowser for help on using the repository browser.