summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/conclude.am22
1 files changed, 16 insertions, 6 deletions
diff --git a/config/conclude.am b/config/conclude.am
index 479de46..dafea77 100644
--- a/config/conclude.am
+++ b/config/conclude.am
@@ -28,13 +28,14 @@ TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
-# BUILT_SOURCES contain targets that need to be built before anything else
-# in the directory (e.g., Fortran type detection)
-build-lib: $(BUILT_SOURCES) $(LIB)
-build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
-build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
+build-lib: $(LIB)
+build-progs: $(LIB) $(PROGS)
+build-tests: $(LIB) $(PROGS) $(TESTS)
-lib progs tests check-s check-p check-clean ::
+# General rule for recursive building targets.
+# BUILT_SOURCES contain targets that need to be built before anything else
+# in the directory (e.g., for Fortran type detection)
+lib progs tests check-s check-p :: $(BUILT_SOURCES)
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
@for d in X $(SUBDIRS); do \
if test $$d != X && test $$d != .; then \
@@ -42,6 +43,15 @@ lib progs tests check-s check-p check-clean ::
fi; \
done
+# General rule for recursive cleaning targets. Like the rule above,
+# but doesn't require building BUILT_SOURCES.
+check-clean ::
+ @$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
+ @for d in X $(SUBDIRS); do \
+ if test $$d != X && test $$d != .; then \
+ (set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
+ fi; \
+ done
# Tell Automake to build tests when the user types `make all' (this is
# not its default behavior). Also build EXTRA_LIB and EXTRA_PROG since
# Automake won't build them automatically, either.