From 777d698c0b11c35da05c55488b02b42064c0fc48 Mon Sep 17 00:00:00 2001 From: Morgan Deters Date: Wed, 29 Aug 2012 11:50:15 +0000 Subject: [PATCH] To the build system: * Fix "make distclean." This should fix the "local regressions fail" that caused documentation, debian, and "distcheck" nightly build targets to fail. * "make clean" now removes some options stuff that previously required a "make distclean." * Cosmetic and portability adjustments. --- src/options/Makefile.am | 10 ++++++++-- test/unit/Makefile.am | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/options/Makefile.am b/src/options/Makefile.am index eb1a2c498..f89fca922 100644 --- a/src/options/Makefile.am +++ b/src/options/Makefile.am @@ -101,7 +101,7 @@ BUILT_SOURCES = \ options.cpp \ options_holder.h -DISTCLEANFILES = \ +CLEANFILES = \ $(OPTIONS_FILES_SRCS) \ $(BUILT_SOURCES) \ options-stamp @@ -178,11 +178,17 @@ options-stamp: options_holder_template.h options_template.cpp ../smt/smt_options @top_builddir@/doc/cvc4.1_template @top_builddir@/doc/cvc4.1 \ -t \ @srcdir@/base_options_template.h @srcdir@/base_options_template.cpp \ - $(foreach o,$(OPTIONS_FILES),"$(srcdir)/$(o)" "$(dir $(builddir)/$(o))") \ + $(foreach o,$(OPTIONS_FILES),"$(srcdir)/$(o)" "$(patsubst %/,%,$(dir $(o)))") \ ) touch "$@" $(OPTIONS_FILES):; +# This rule is ugly. It's needed to ensure that automake's dependence +# includes are available during distclean, even though they come from +# directories that are cleaned first. Without this rule, "distclean" +# fails. +%.Plo:; $(MKDIR_P) "$(dir $@)" && : > "$@" + .PHONY: exprs-builts exprs-builts:; $(AM_V_at)[ "$(FROM_EXPR)" != 1 ] && $(MAKE) -C ../expr builts || true diff --git a/test/unit/Makefile.am b/test/unit/Makefile.am index 716b8959e..a287b7520 100644 --- a/test/unit/Makefile.am +++ b/test/unit/Makefile.am @@ -105,7 +105,7 @@ EXTRA_DIST = \ $(TEST_DEPS_DIST) MOSTLYCLEANFILES = $(UNIT_TESTS) $(UNIT_TESTS:%=%.cpp) $(UNIT_TESTS:%=%.lo) -DISTCLEANFILES = $(UNIT_TESTS:%=.deps/%.Plo) +DISTCLEANFILES = $(UNIT_TESTS:%=@DEPDIR@/%.Plo) # the tests automake infrastructure doesn't clean up .o files :-( # handle both .libs and _libs variants -- 2.30.2