Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
bugfix... I'm so pissed off to keep finding bug in this part of the code whereas...
[simgrid.git] / Makefile.am
1 SUBDIRS= include src examples testsuite doc
2 DISTCLEANFILES =  *~  
3
4 ACLOCAL = aclocal -I acmacro -I /usr/share/aclocal/gnome2-macros
5 AUTOMAKE_OPTIONS = gnu
6 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
7
8 EXTRA_DIST = bootstrap COPYING INSTALL NEWS README README.IEEE TODO AUTHORS ChangeLog ChangeLog.debian\
9         acmacro/aci.m4 \
10         tools/gras-check-arch   tools/compile-remote-worker.in \
11         tools/MSG_visualization tools/platform_generation \
12         tools/doxygen/index_create.pl
13
14 TAGS: 
15         etags `find . -name "*.[ch]"`
16
17 tags: TAGS
18
19
20
21 if MAINTAINER_MODE
22 ##
23 ## The following is only interesting for me, I guess. 
24 ## Some of the targets will only work on my machine ;)
25 ##
26
27 release: distcheck remote debian publish
28
29 debian: dist
30         make -C ~/CVSIMPORT/pkg-grid/gras maintainerclean
31         cp @PACKAGE@-@VERSION@.tar.gz ~/CVSIMPORT/pkg-grid/gras/
32         cp @PACKAGE@-@VERSION@.tar.gz ~/CVSIMPORT/pkg-grid/gras/@PACKAGE@_@VERSION@.orig.tar.gz
33         make -C ~/CVSIMPORT/pkg-grid/gras deb check
34         dput local *.changes
35
36 publish-old: dist
37          @echo "----[ Put the documentation on the local filesystem ]----"
38          rm -rf ~/public_html/gras/doc
39          mkdir ~/public_html/gras/doc
40          cp -r doc/html ~/public_html/gras/doc
41          @echo "----[ Put the tarball @VERSION@ on the local filesystem ]----"
42          cp @PACKAGE@-@VERSION@.tar.gz ~/public_html/gras/dl
43          @echo "----[ Sync remote host ]----"
44          make -C public_html publish
45
46 publish: dist
47          @echo "----[ Put the tarball @VERSION@ on gcl ]----"
48          scp @PACKAGE@-@VERSION@.tar.gz gcl.ucsd.edu:/home/www/simgrid/dl/
49          scp -r doc/html/* gcl.ucsd.edu:/home/www/simgrid/
50 #        scp ChangeLog gcl.ucsd.edu:/home/www/simgrid/dl/ChangeLog
51          @echo "----[ Put the tarball @VERSION@ on the local filesystem ]----"
52          cp @PACKAGE@-@VERSION@.tar.gz ~/public_html/simgrid2
53          cp -r doc/html ~/public_html/simgrid2/doc/
54 #        cp ChangeLog ~/public_html/simgrid2/
55          make -C ~/public_html
56
57 mail:
58          @ver=`dpkg-parsechangelog -lChangeLog.debian| egrep '^Version: ' | sed 's/Version: //'`;\
59           (echo "Hello," ; \
60            echo; \
61            echo "A new version of GRAS is available. Here is the changelog:";\
62            echo;echo;\
63            dpkg-parsechangelog -lChangeLog.debian ;\
64            echo;echo; \
65            echo "It is available from the official website:";\
66            echo "  http://grail.sdsc.edu/simgrid/";\
67            echo;echo "Cheers, Mt.") | \
68           mail -e \
69                -a "From: Martin.Quinson@ens-lyon.fr" \
70                -s "New version of GRAS ($$ver)" \
71                martin.quinson@ens-lyon.fr,arnaud.legrand@ens-lyon.fr
72
73
74 splint:
75         splint `find src -name '*.c' | grep -v RL | grep -v SG` +matchanyintegral -warnposix +boolint -Inws_portability/Include/ -Isrc/include -Isrc/base -Isrc
76
77 ##
78 ## Cruft for remote compilation
79 ##
80
81 MACHINES ?= valnure.cs.ucsb.edu sperm.cs.ucsb.edu     basalt.cs.ucsb.edu \
82             graal.ens-lyon.fr   allo-psmn.ens-lyon.fr \
83             nala.cs.utk.edu
84
85 # ACTION: What to do there
86 # possible values:
87 #  - clean:   erase any previously existing source tree and 
88 #             open the new open
89 #  - touch:   touch every file of the source tree to deal with 
90 #             clock brokenness. May help, may harm.
91 #  - config:  launch configure
92 #  - compile: run 'make'
93 #  - install: run 'make install'
94 #  - check:   run 'make check'
95 #
96 # default value:
97 ACTION ?= clean untar config compile check
98
99 REMOTE_PREFIX ?='${HOME}/gras'
100
101 remote: @PACKAGE@-@VERSION@.tar.gz tools/compile-remote-worker
102         @echo;echo "----[ Recompile the package on remote hosts ]----"
103         @test -e buildlogs/@PACKAGE@-@VERSION@ || mkdir -p buildlogs/@PACKAGE@-@VERSION@
104         @failed=0;\
105          for site in $(MACHINES) ; do \
106            machine=`echo $$site |sed 's/^\([^%]*\)%.*$$/\1/'`;\
107            machine2=`echo $$site |sed 's/^\([^%]*\)%\(.*\)$$/\2/'`;\
108            cmd="\"sh -c 'env REMOTE_PREFIX=$(REMOTE_PREFIX) $(REMOTE_PREFIX)/src/compile-remote-worker $(ACTION) 2>&1'\"";\
109            if echo $$site | grep  '%' >/dev/null ; then \
110              echo "----[ Compile on $$machine2 (behind $$machine) ]----";\
111            else \
112              machine=$$site;\
113              echo "----[ Compile on $$machine ]----";\
114            fi;\
115            \
116            echo "-- Copy the data over"; \
117            scp @PACKAGE@-@VERSION@.tar.gz tools/compile-remote-worker \
118                $$machine:$(REMOTE_PREFIX)/src;\
119            \
120            echo "-- Compiling... (the output gets into buildlogs/@PACKAGE@-@VERSION@/$$site.log)"; \
121            if echo $$site | grep  '%' >/dev/null ; then \
122              if ssh $$machine "env REMOTE_PREFIX=$(REMOTE_PREFIX) ssh -A $$machine2 $$cmd" 2>&1 > buildlogs/@PACKAGE@-@VERSION@/$$site.log;\
123              then echo "Sucessful"; else failed=1;echo "Failed (check buildlogs/@PACKAGE@-@VERSION@/$$site.log)"; fi;echo; \
124            else \
125              if ssh $$machine "eval $$cmd" 2>&1 > buildlogs/@PACKAGE@-@VERSION@/$$site.log ;\
126              then echo "Sucessful"; else failed=1;echo "Failed (check buildlogs/@PACKAGE@-@VERSION@/$$site.log)"; fi;echo; \
127            fi;\
128         done;\
129         tools/compile-stats;\
130         exit $$failed
131
132 endif