From: Morgan Deters Date: Wed, 29 Aug 2012 11:50:15 +0000 (+0000) Subject: To the build system: X-Git-Tag: cvc5-1.0.0~7834 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=777d698c0b11c35da05c55488b02b42064c0fc48;p=cvc5.git 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. --- 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