From: Ralf Wildenhues Date: Sun, 22 Aug 2010 04:14:06 +0000 (+0200) Subject: Tidy and fix clean and distclean rules for old testsuite. X-Git-Tag: v2.4~79 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=10c6cb25e5f8e5212e1c770568017184a7575122;p=thirdparty%2Flibtool.git Tidy and fix clean and distclean rules for old testsuite. * Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead of hard-coding the list of test directories. Use $(AM_MAKEFLAGS). (fake-distclean-legacy): New phony rule, to create fake Makefile files if needed so that the automake-generated distclean-recursive rule can work properly. (distclean_recursive): New helper variable. (distclean-recursive): Depend on fake-distclean-legacy. Signed-off-by: Ralf Wildenhues --- diff --git a/ChangeLog b/ChangeLog index 5f5e23ad6..6b8767f6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2010-08-22 Ralf Wildenhues + + Tidy and fix clean and distclean rules for old testsuite. + * Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead + of hard-coding the list of test directories. Use + $(AM_MAKEFLAGS). + (fake-distclean-legacy): New phony rule, to create fake Makefile + files if needed so that the automake-generated + distclean-recursive rule can work properly. + (distclean_recursive): New helper variable. + (distclean-recursive): Depend on fake-distclean-legacy. + 2010-08-22 Paolo Bonzini Fix sed_make_literal_regex. diff --git a/Makefile.am b/Makefile.am index d689e09c6..2c4a3db7f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -712,12 +712,26 @@ $(srcdir)/tests/defs.in: $(auxdir)/general.m4sh tests/defs.m4sh Makefile.am # We need to remove any files that the above tests created. clean-local-legacy: - -cd tests; \ - for dir in cdemo demo depdemo f77demo fcdemo mdemo mdemo2 pdemo tagdemo; \ - do \ - test -f $$dir/Makefile && ( cd $$dir && $(MAKE) distclean; ); \ + -for dir in $(CONF_SUBDIRS); do \ + if test -f $$dir/Makefile; then \ + (cd $$dir && $(MAKE) $(AM_MAKEFLAGS) distclean); \ + else :; fi; \ done rm -rf _inst +# For distclean, we may have to fake Makefiles in the test directories +# so that descending in DIST_SUBDIRS works. +# Hide the additional dependency from automake so it still outputs the rule. +distclean_recursive = distclean-recursive +$(distclean_recursive): fake-distclean-legacy +.PHONY: fake-distclean-legacy +fake-distclean-legacy: + -for dir in $(CONF_SUBDIRS); do \ + if test ! -f $$dir/Makefile; then \ + $(mkinstalldirs) $$dir; \ + echo 'distclean: ; rm -f Makefile' > $$dir/Makefile; \ + else :; fi; \ + done + $(TESTS): tests/defs DISTCLEANFILES += tests/defs