Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
First step of splintification
[simgrid.git] / Makefile.am
index ca6d9e9..3687d7c 100644 (file)
@@ -1,37 +1,43 @@
-SUBDIRS= doc src 
+SUBDIRS= src doc
 DISTCLEANFILES =  *~  
 
 ACLOCAL = aclocal -I acmacro -I /usr/share/aclocal/gnome2-macros
 AUTOMAKE_OPTIONS = gnu
 
-EXTRA_DIST = bootstrap COPYING INSTALL NEWS README TODO AUTHORS \
-       acmacro/aci.m4
-#      Cflags.Makefile.am                      \
-#      doc/FAQ.txt                             \
-#      doc/footer.html                         \
-#      doc/html                                \
-#      doc/index.doc                           \
-#      doc/Makefile.Example.am                 \
-#      doc/Makefile.Example.in                 \
-#      tools/colorize.pl                       \
-#      tools/index_create.pl                   \
-#      tools/acmacro
-
+EXTRA_DIST = bootstrap COPYING INSTALL NEWS README README.IEEE TODO AUTHORS ChangeLog\
+       acmacro/aci.m4 \
+       tools/gras-check-arch   tools/compile-remote-worker.in
 
 TAGS: 
        etags `find . -name "*.[ch]"`
 
 tags: TAGS
 
+
+
+if MAINTAINER_MODE
+##
+## The following is only interesting for me, I guess. 
+## Some of the targets will only work on my machine ;)
+##
+
+release: distcheck remote debian publish
+
+debian: dist
+       make -C ~/CVSIMPORT/pkg-grid/gras maintainerclean
+       cp @PACKAGE@-@VERSION@.tar.gz ~/CVSIMPORT/pkg-grid/gras
+       make -C ~/CVSIMPORT/pkg-grid/gras deb check
+       dput local *.changes
+
 publish: dist
-        @echo "----[ Put the tarball @VERSION@ on gcl ]----"
-        scp @PACKAGE@-@VERSION@.tar.gz gcl.ucsd.edu:/home/www/simgrid/dl/
-        scp -r doc/html/* gcl.ucsd.edu:/home/www/simgrid/
-        scp ChangeLog gcl.ucsd.edu:/home/www/simgrid/dl/
+        @echo "----[ Put the documentation on the local filesystem ]----"
+        rm -rf ~/public_html/gras/doc
+        mkdir ~/public_html/gras/doc
+        cp -r doc/html ~/public_html/gras/doc
         @echo "----[ Put the tarball @VERSION@ on the local filesystem ]----"
-        cp @PACKAGE@-@VERSION@.tar.gz ~/public_html/simgrid2
-        cp -r doc/html ~/public_html/simgrid2/doc/
-        cp ChangeLog ~/public_html/simgrid2/
+        cp @PACKAGE@-@VERSION@.tar.gz ~/public_html/gras/dl
+        @echo "----[ Sync remote host ]----"
+        make -C public_html publish
 
 mail:
         @ver=`dpkg-parsechangelog -lChangeLog| egrep '^Version: ' | sed 's/Version: //'`;\
@@ -51,4 +57,61 @@ mail:
 
 
 splint:
-       splint `find src examples -name '*.c'` +matchanyintegral -warnposix +boolint -Inws_portability/Include/ -Isrc/
+       splint `find src -name '*.c' | grep -v RL | grep -v SG` +matchanyintegral -warnposix +boolint -Inws_portability/Include/ -Isrc/include -Isrc/base -Isrc
+
+##
+## Cruft for remote compilation
+##
+
+MACHINES ?= valnure.cs.ucsb.edu sperm.cs.ucsb.edu     basalt.cs.ucsb.edu \
+           graal.ens-lyon.fr   allo-psmn.ens-lyon.fr \
+           nala.cs.utk.edu
+
+# ACTION: What to do there
+# possible values:
+#  - clean:   erase any previously existing source tree and 
+#             open the new open
+#  - touch:   touch every file of the source tree to deal with 
+#             clock brokenness. May help, may harm.
+#  - config:  launch configure
+#  - compile: run 'make'
+#  - install: run 'make install'
+#  - check:   run 'make check'
+#
+# default value:
+ACTION ?= clean untar config compile check
+
+REMOTE_PREFIX ?='${HOME}/gras'
+
+remote: @PACKAGE@-@VERSION@.tar.gz tools/compile-remote-worker
+       @echo;echo "----[ Recompile the package on remote hosts ]----"
+       @test -e buildlogs/@PACKAGE@-@VERSION@ || mkdir -p buildlogs/@PACKAGE@-@VERSION@
+       @failed=0;\
+        for site in $(MACHINES) ; do \
+          machine=`echo $$site |sed 's/^\([^%]*\)%.*$$/\1/'`;\
+          machine2=`echo $$site |sed 's/^\([^%]*\)%\(.*\)$$/\2/'`;\
+          cmd="\"sh -c 'env REMOTE_PREFIX=$(REMOTE_PREFIX) $(REMOTE_PREFIX)/src/compile-remote-worker $(ACTION) 2>&1'\"";\
+          if echo $$site | grep  '%' >/dev/null ; then \
+            echo "----[ Compile on $$machine2 (behide $$machine) ]----";\
+          else \
+            machine=$$site;\
+            echo "----[ Compile on $$machine ]----";\
+          fi;\
+          \
+          echo "-- Copy the data over"; \
+          scp @PACKAGE@-@VERSION@.tar.gz tools/compile-remote-worker \
+              $$machine:$(REMOTE_PREFIX)/src;\
+          \
+          echo "-- Compiling... (the output gets into buildlogs/@PACKAGE@-@VERSION@/$$site.log)"; \
+          if echo $$site | grep  '%' >/dev/null ; then \
+            if ssh -CA $$machine "env REMOTE_PREFIX=$(REMOTE_PREFIX) ssh -A $$machine2 $$cmd" 2>&1 > buildlogs/@PACKAGE@-@VERSION@/$$site.log;\
+            then echo "Sucessful"; else failed=1;echo "Failed (check buildlogs/@PACKAGE@-@VERSION@/$$site.log)"; fi;echo; \
+          else \
+            if ssh -CA $$machine "eval $$cmd" 2>&1 > buildlogs/@PACKAGE@-@VERSION@/$$site.log ;\
+            then echo "Sucessful"; else failed=1;echo "Failed (check buildlogs/@PACKAGE@-@VERSION@/$$site.log)"; fi;echo; \
+          fi;\
+       done;\
+       tools/compile-stats;\
+       exit $$failed
+
+endif