summaryrefslogtreecommitdiffstats
path: root/c++/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'c++/Makefile.in')
-rw-r--r--c++/Makefile.in22
1 files changed, 16 insertions, 6 deletions
diff --git a/c++/Makefile.in b/c++/Makefile.in
index e774512..9e8302b 100644
--- a/c++/Makefile.in
+++ b/c++/Makefile.in
@@ -669,13 +669,14 @@ installcheck-local:
# 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 \
@@ -683,6 +684,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.