summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Wette <karl.wette@ligo.org>2014-04-25 17:01:14 +0200
committerKarl Wette <karl.wette@ligo.org>2014-05-11 21:31:32 +0200
commit96153c7c0a9200f39d0dc66ffbea2426cd2a4d95 (patch)
tree42ce269a62eb9f0dca574fb1b2c88c9559b31a3e
parent6fc07c5dc9a05669174b2c03881619bcb492ec5b (diff)
downloadswig-96153c7c0a9200f39d0dc66ffbea2426cd2a4d95.tar.gz
Regenerate configured Makefile if Makefile.in or config.status have changed
-rw-r--r--CCache/Makefile.in4
-rw-r--r--Examples/Makefile.in4
-rw-r--r--Examples/test-suite/common.mk7
-rw-r--r--Examples/test-suite/errors/Makefile.in3
-rw-r--r--Makefile.in5
-rw-r--r--Tools/javascript/Makefile.in16
6 files changed, 35 insertions, 4 deletions
diff --git a/CCache/Makefile.in b/CCache/Makefile.in
index abe78c277..3513222ca 100644
--- a/CCache/Makefile.in
+++ b/CCache/Makefile.in
@@ -27,6 +27,10 @@ HEADERS = ccache.h mdfour.h
all: $(PACKAGE_NAME)$(EXEEXT)
+# Regenerate Makefile if Makefile.in or config.status have changed.
+Makefile: $(srcdir)/Makefile.in ./config.status
+ $(SHELL) ./config.status
+
# Note that HTML documentation is actually generated and used from the main SWIG documentation Makefile
docs: $(PACKAGE_NAME).1 web/ccache-man.html
diff --git a/Examples/Makefile.in b/Examples/Makefile.in
index 326f678c7..a0acd0fb8 100644
--- a/Examples/Makefile.in
+++ b/Examples/Makefile.in
@@ -21,6 +21,10 @@
# 'method' describes what is being built.
#---------------------------------------------------------------
+# Regenerate Makefile if Makefile.in or config.status have changed.
+Makefile: @srcdir@/Makefile.in ../config.status
+ cd .. && $(SHELL) ./config.status Examples/Makefile
+
TARGET =
CC = @CC@
CXX = @CXX@
diff --git a/Examples/test-suite/common.mk b/Examples/test-suite/common.mk
index c8789cb99..bdd1cd471 100644
--- a/Examples/test-suite/common.mk
+++ b/Examples/test-suite/common.mk
@@ -71,6 +71,13 @@ LIBPREFIX = lib
ACTION = check
INTERFACEDIR = $(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/
+# Regenerate Makefile if Makefile.in or config.status have changed.
+ifeq (,$(TEST_SUITE_SUBDIR))
+TEST_SUITE_SUBDIR = $(LANGUAGE)
+endif
+Makefile: $(srcdir)/Makefile.in ../../../config.status
+ cd ../../../ && $(SHELL) ./config.status $(EXAMPLES)/$(TEST_SUITE)/$(TEST_SUITE_SUBDIR)/Makefile
+
#
# Please keep test cases in alphabetical order.
# Note that any whitespace after the last entry in each list will break make
diff --git a/Examples/test-suite/errors/Makefile.in b/Examples/test-suite/errors/Makefile.in
index e4ba7b751..843283e7c 100644
--- a/Examples/test-suite/errors/Makefile.in
+++ b/Examples/test-suite/errors/Makefile.in
@@ -31,6 +31,9 @@ C_ERROR_TEST_CASES := $(filter-out $(CPP_ERROR_TEST_CASES), $(ALL_ERROR_TEST_CAS
ERROR_TEST_CASES := $(CPP_ERROR_TEST_CASES:=.cpptest) \
$(C_ERROR_TEST_CASES:=.ctest)
+# For rebuilding Makefile from Makefile.in in common.mk
+TEST_SUITE_SUBDIR = errors
+
include $(srcdir)/../common.mk
diff --git a/Makefile.in b/Makefile.in
index 06e4724c7..53ac47de5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -243,11 +243,13 @@ check-%-examples :
# individual example
%.actionexample:
+ @cd Examples && $(MAKE) Makefile
@echo $(ACTION)ing Examples/$(LANGUAGE)/$*
@(cd Examples/$(LANGUAGE)/$* && $(MAKE) $(FLAGS) $(chk-set-env) $(ACTION) RUNPIPE=$(RUNPIPE))
# gcj individual example
java.actionexample:
+ @cd Examples && $(MAKE) Makefile
@if $(skip-gcj); then \
echo "skipping Examples/$(LANGUAGE)/java $(ACTION) (gcj test)"; \
else \
@@ -283,6 +285,9 @@ check-test-suite: \
check-javascript-test-suite
check-%-test-suite:
+ @if test -d Examples/test-suite/$*; then \
+ cd Examples/test-suite/$* && $(MAKE) Makefile; \
+ fi
@if test -z "$(skip-$*)"; then \
echo $* unknown; \
exit 1; \
diff --git a/Tools/javascript/Makefile.in b/Tools/javascript/Makefile.in
index 373c5d952..6fbca2384 100644
--- a/Tools/javascript/Makefile.in
+++ b/Tools/javascript/Makefile.in
@@ -11,6 +11,8 @@
# interpreter (see 'Tools/javascript').
#
# ----------------------------------------------------------------
+all: javascript
+
CC = @CC@
# HACK: under OSX a g++ compiled interpreter is seg-faulting when loading module libraries
# with 'c++' it works... probably some missing flags?
@@ -29,15 +31,21 @@ JSCXXSHARED = @JSCXXSHARED@
JSV8ENABLED = @JSV8ENABLED@
JSCENABLED = @JSCENABLED@
+srcdir = @srcdir@
+
+# Regenerate Makefile if Makefile.in or config.status have changed.
+Makefile: $(srcdir)/Makefile.in ../../config.status
+ cd ../.. && $(SHELL) ./config.status Tools/javascript/Makefile
+
# These settings are provided by 'configure' (see '/configure.in')
ifeq (1, $(JSV8ENABLED))
- JS_INTERPRETER_SRC_V8 = v8_shell.cxx
- JS_INTERPRETER_ENABLE_V8 = -DENABLE_V8
+JS_INTERPRETER_SRC_V8 = v8_shell.cxx
+JS_INTERPRETER_ENABLE_V8 = -DENABLE_V8
endif
ifeq (1, $(JSCENABLED))
- JS_INTERPRETER_SRC_JSC = jsc_shell.cxx
- JS_INTERPRETER_ENABLE_JSC = -DENABLE_JSC
+JS_INTERPRETER_SRC_JSC = jsc_shell.cxx
+JS_INTERPRETER_ENABLE_JSC = -DENABLE_JSC
endif
JS_INTERPRETER_DEFINES = $(JS_INTERPRETER_ENABLE_JSC) $(JS_INTERPRETER_ENABLE_V8)