Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
change free be xbt_free_f
[simgrid.git] / Makefile.am
index f63ab4f..54c948f 100644 (file)
@@ -1,23 +1,48 @@
-SUBDIRS= include src examples testsuite doc
-DISTCLEANFILES =  *~  
+# GRAMINE_CUT_BEGIN
+SG_SUBDIRS= testsuite examples doc
 
-ACLOCAL = aclocal -I acmacro
-AUTOMAKE_OPTIONS = gnu
-DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
-
-EXTRA_DIST = bootstrap COPYING INSTALL NEWS README README.IEEE TODO AUTHORS ChangeLog ChangeLog.debian\
+SG_EXTRA_DIST = bootstrap COPYING INSTALL NEWS README README.IEEE TODO AUTHORS ChangeLog \
        acmacro/aci.m4 \
-       tools/gras-check-arch   tools/compile-remote-worker.in \
-       tools/MSG_visualization tools/platform_generation \
-        tools/doxygen/index_create.pl
+       tools/graspe-slave.in \
+       tools/MSG_visualization \
+          tools/MSG_visualization/colorize.pl
+# GRAMINE_CUT_END
 
-SOURCE_FILES = $(shell find . -name "*.[ch]")
-TAGS: $(SOURCE_FILES)
-       @etags $(SOURCE_FILES)
+SUBDIRS= include src tools $(SG_SUBDIRS)
+EXTRA_DIST=$(SG_EXTRA_DIST)
 
-tags: TAGS
+DISTCLEANFILES= stamp.configure stamp.build stamp.check *~  
 
+ACLOCAL = aclocal-1.9 -I acmacro
+AUTOMAKE_OPTIONS = gnu
 
+check-local:
+       echo @build_id@ > stamp.check
+all-local:
+       echo @build_id@ > stamp.build
+
+gramine:
+       rm -rf gramine-@VERSION@ gramine-@VERSION@.tar*
+       @echo "# Setup sources..."
+       for n in `find include src tools/gras -name '*.[ch]' | grep -v -e gras_config.h -e ucontext_stack.h`; do \
+         mkdir -p gramine-@VERSION@/`dirname $$n`; \
+          perl -e '$$/ = undef; $$l=<>; while ($$l=~ m,(/\*.*?\*/),s) { $$rep=$$1; $$rep=~s/\S//sg; $$l=~s,/\*.*?\*/,$$rep,s; } print $$l;' < $$n > gramine-@VERSION@/$$n; \
+       done
+       @echo "# Copy sources to be generated by configury"
+       cp src/ucontext_stack.h.in src/gras_config.h.in gramine-@VERSION@/src
+       @echo "# Remove sources being part of the testsuite"
+       rm gramine-@VERSION@/src/*_unit.c
+       @echo "# Adapt the configury mechanism to the gramine context"
+       mkdir gramine-@VERSION@/acmacro
+       for n in configure Makefile.in src/Makefile.in include/Makefile.in \
+                tools/Makefile.in tools/gras/Makefile.in; do \
+         sed  -e '/^# GRAMINE_CUT_BEGIN/,/^# GRAMINE_CUT_END/d' \
+              -e 's/gramine_mode=no/gramine_mode=yes/' $$n > gramine-@VERSION@/$$n; \
+       done
+       chmod +x gramine-@VERSION@/configure
+       cp install[-.]sh config.sub config.guess depcomp missing ltmain.sh gramine-@VERSION@/$$n
+       tar cf gramine-@VERSION@.tar gramine-@VERSION@ ; bzip2 -9 gramine-@VERSION@.tar
+       tar cf gramine-@VERSION@.tar gramine-@VERSION@ ; gzip -9 gramine-@VERSION@.tar
 
 if MAINTAINER_MODE
 ##
@@ -45,89 +70,55 @@ publish-old: dist
         make -C public_html publish
 
 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/ChangeLog
+        @echo "----[ Put the tarball @VERSION@ on gforge ]----"
+#       scp @PACKAGE@-@VERSION@.tar.gz gcl.ucsd.edu:/home/www/simgrid/dl/
+#       scp -r doc/html/* gcl.ucsd.edu:/home/www/simgrid/
+#       scp -r doc/html/* scm.gforge.inria.fr:/var/lib/gforge/chroot/home/groups/simgrid/htdocs/
+        scp ChangeLog gcl.ucsd.edu:/home/www/simgrid/dl/ChangeLog
         @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 ChangeLog ~/public_html/simgrid2/
         make -C ~/public_html
 
+sync-gforge: 
+       rsync --verbose --cvs-exclude --compress --delete --delete-excluded --rsh=ssh --ignore-times \
+           --recursive --links --perms --times --omit-dir-times  \
+           doc/html/ scm.gforge.inria.fr:/var/lib/gforge/chroot/home/groups/simgrid/htdocs/doc/ || true
+       scp doc/index.php doc/webcruft/robots.txt scm.gforge.inria.fr:/var/lib/gforge/chroot/home/groups/simgrid/htdocs/
+       scp doc/webcruft/simgrid_modules2.png doc/webcruft/simgrid_modules.png doc/webcruft/simgrid_logo.png doc/webcruft/simgrid_logo_small.png scm.gforge.inria.fr:/var/lib/gforge/chroot/home/groups/simgrid/htdocs/
+       ssh scm.gforge.inria.fr "chgrp -R simgrid /var/lib/gforge/chroot/home/groups/simgrid/htdocs/"
+       ssh scm.gforge.inria.fr "chmod g+rw -R /var/lib/gforge/chroot/home/groups/simgrid/htdocs/* || true"
+
 mail:
-        @ver=`dpkg-parsechangelog -lChangeLog.debian| egrep '^Version: ' | sed 's/Version: //'`;\
+        @ver=`dpkg-parsechangelog -lChangeLog | egrep '^Version: ' | sed 's/Version: //'`;\
          (echo "Hello," ; \
           echo; \
-           echo "A new version of GRAS is available. Here is the changelog:";\
+           echo "A new version of SimGrid is available. Here is the changelog:";\
           echo;echo;\
-           dpkg-parsechangelog -lChangeLog.debian ;\
+           dpkg-parsechangelog -lChangeLog ;\
            echo;echo; \
           echo "It is available from the official website:";\
-          echo "  http://grail.sdsc.edu/simgrid/";\
-          echo;echo "Cheers, Mt.") | \
+          echo "  http://simgrid.gforge.inria.fr";\
+          echo;echo "Cheers, the SimGrid team.") | \
           mail -e \
-              -a "From: Martin.Quinson@ens-lyon.fr" \
-              -s "New version of GRAS ($$ver)" \
-              martin.quinson@ens-lyon.fr,arnaud.legrand@ens-lyon.fr
-
+              -a "From: Arnaud.Legrand@imag.fr" \
+              -s "New version of SimGrid ($$ver)" \
+              simgrid-user@lists.gforge.inria.fr
 
 splint:
-       splint `find src -name '*.c' | grep -v RL | grep -v SG` +matchanyintegral -warnposix +boolint -Inws_portability/Include/ -Isrc/include -Isrc/base -Isrc
-
+       splint `make dist-files | grep -v $(PWD) | egrep '\.[ch]$$' |sort -u` \
+              +matchanyintegral -warnposix +boolint \
+              +show-summary +stats\
+              -Iinclude -Isrc/include -Isrc/base -Isrc
+.PHONY: splint sync-gforge
 ##
 ## 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 (behind $$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 $$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 $$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
+remote: 
+       @$(top_srcdir)/tools/graspe-master
 
 endif
+
+include $(top_srcdir)/acmacro/dist-files.mk