+# If you add a test unit, you should regenerate simgrid_units_main.c from scratch:
+# make clean-units ; make testall
+
+# Suites and tests run in the given order.
+
+noinst_PROGRAMS=testall
+TEST_CFILES=xbt/cunit.c xbt/ex.c \
+ xbt/dynar.c xbt/dict.c xbt/set.c xbt/swag.c \
+ xbt/xbt_str.c \
+ xbt/config.c
+TEST_UNITS= @builddir@/cunit_unit.c @builddir@/ex_unit.c \
+ @builddir@/dynar_unit.c @builddir@/dict_unit.c @builddir@/set_unit.c @builddir@/swag_unit.c \
+ @builddir@/xbt_str_unit.c \
+ @builddir@/config_unit.c
+
+BUILT_SOURCES=../include/surf/surfxml.h surf/surfxml.c \
+ ../include/xbt/graphxml.h xbt/graphxml.c \
+ gras/DataDesc/ddt_parse.yy.c \
+ $(TEST_UNITS) @builddir@/simgrid_units_main.c
+
+testall_SOURCES= $(TEST_UNITS) @builddir@/simgrid_units_main.c
+testall_LDADD=libgras.la
+TESTS=testall
+TESTS_ENVIRONMENT=$(SG_TEST_EXENV)
+
+EXTRA_DIST+=$(testall_SOURCES)
+
+if MAINTAINER_MODE
+CLEANFILES=$(TEST_UNITS)
+
+@builddir@/cunit_unit.c: xbt/cunit.c
+ @top_srcdir@/tools/sg_unit_extractor.pl $^
+@builddir@/ex_unit.c: xbt/ex.c
+ @top_srcdir@/tools/sg_unit_extractor.pl $^
+@builddir@/xbt_str_unit.c: xbt/xbt_str.c
+ @top_srcdir@/tools/sg_unit_extractor.pl $^
+@builddir@/dynar_unit.c: xbt/dynar.c
+ @top_srcdir@/tools/sg_unit_extractor.pl $^
+@builddir@/dict_unit.c: xbt/dict.c
+ @top_srcdir@/tools/sg_unit_extractor.pl $^
+@builddir@/set_unit.c: xbt/set.c
+ @top_srcdir@/tools/sg_unit_extractor.pl $^
+@builddir@/swag_unit.c: xbt/swag.c
+ @top_srcdir@/tools/sg_unit_extractor.pl $^
+@builddir@/config_unit.c: xbt/config.c
+ @top_srcdir@/tools/sg_unit_extractor.pl $^
+
+@builddir@/simgrid_units_main.c: $(TEST_UNITS)
+ @top_srcdir@/tools/sg_unit_extractor.pl @srcdir@/xbt/cunit.c
+
+clean-units:
+ rm -f simgrid_units_main.c *_unit.c @srcdir@/simgrid_units_main.c @srcdir@/*_unit.c
+ for n in $(TEST_UNITS) ; do \
+ dep=`echo $$n|sed -e 's|.c$$|.Po|' -e 's|[^/]*/||' -e 's|^|.deps/|'`; \
+ echo "Removing dependency tracker of $$n ($$dep @srcdir@/$$dep)"; \
+ rm -vf $$dep @srcdir@/$$dep; touch $$dep; \
+ done
+else
+
+if BOTBUILD_MODE
+$(TEST_UNITS) simgrid_units_main.c clean-units:
+ @echo "WARNING: Test units not generated, but touched instead since this is a bot build."
+ touch $@
+else
+$(TEST_UNITS) simgrid_units_main.c clean-units:
+ @echo "ERROR: Test units not generated."
+ @echo "ERROR: If you are using a SVN checkout, configure with the --enable-maintainer-mode flag"
+ @echo "ERROR: If not, please report the bug to the simgrid-devel mailing list."
+ @exit 1
+endif
+endif
+
+###
+### Regenerate what needs to with flex & flexml
+###
+
+
+gras/DataDesc/ddt_parse.yy.c: gras/DataDesc/ddt_parse.yy.l
+ set -e;@LEX@ -o$@ -Pgras_ddt_parse_ --noline $^
+
+if MAINTAINER_MODE