summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2017-06-07 20:31:59 +0200
committerNiels Möller <nisse@lysator.liu.se>2017-06-07 20:31:59 +0200
commitcc2a3f8a3716f6a8f0cee8314b3a0de5dc463458 (patch)
treedd9b501a3e60de3ba64cb041e2f45d63c9025e94
parent7815864d0557ef0b456bc4517df76e7ae2b54f83 (diff)
downloadnettle-cc2a3f8a3716f6a8f0cee8314b3a0de5dc463458.tar.gz
Rework make targets related to test-rules.
-rw-r--r--ChangeLog9
-rw-r--r--testsuite/Makefile.in17
-rw-r--r--testsuite/test-rules.stamp1
3 files changed, 20 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 8269e6bd..e7301100 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2017-05-23 Niels Möller <nisse@lysator.liu.se>
+
+ Rework the previous change, which had the unintended effect of
+ always regenerating .test-rules.make after ./configure is run.
+ * testsuite/Makefile.in (test-rules.stamp): New stamp file target,
+ depend on Makefile.in, and run $(MAKE) test-rules.
+ (.test-rules.make): Add a level of indirection, by depending on
+ test-rules.stamp.
+
2017-05-20 Niels Möller <nisse@lysator.liu.se>
* testsuite/Makefile.in (test-rules): Use $(srddir)/-prefix for
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index cc8dea3a..c1ac7d24 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -67,6 +67,7 @@ EXTRA_TARGETS = $(EXTRA_SOURCES:.c=$(EXEEXT))
SOURCES = $(TS_SOURCES) $(EXTRA_SOURCES) testutils.c dlopen-test.c
DISTFILES = $(SOURCES) $(CXX_SOURCES) Makefile.in .test-rules.make \
+ test-rules.stamp \
$(TS_SH) setup-env teardown-env \
gold-bug.txt testutils.h sha3.awk
@@ -96,9 +97,7 @@ dlopen-test$(EXEEXT): dlopen-test.$(OBJEXT) testutils.$(OBJEXT)
$(LINK) dlopen-test.$(OBJEXT) -ldl -o dlopen-test$(EXEEXT)
.PHONY: test-rules
-test-rules: $(srcdir)/.test-rules.make
-
-$(srcdir)/.test-rules.make: Makefile
+test-rules:
(for f in $(TS_NETTLE) $(TS_HOGWEED) $(EXTRA_TARGETS) ; do \
echo $$f'$$(EXEEXT): '$$f'.$$(OBJEXT)' ; \
echo ' $$(LINK) '$$f'.$$(OBJEXT) $$(TEST_OBJS) -o '$$f'$$(EXEEXT)' ; \
@@ -109,10 +108,14 @@ $(srcdir)/.test-rules.make: Makefile
echo ' $$(LINK_CXX) '$$f'.$$(OBJEXT) $$(TEST_OBJS) -o '$$f'$$(EXEEXT)' ; \
echo ; \
done) > $(srcdir)/.test-rules.make
- @echo "******************************************************************"
- @echo "testsuite Makefile rules have been regenerated; please re-run make"
- @echo "******************************************************************"
- false
+
+$(srcdir)/.test-rules.make: $(srcdir)/test-rules.stamp
+
+# Updates the stamp file *first*, so that this rule isn't triggered
+# again and again by the recursive $(MAKE).
+$(srcdir)/test-rules.stamp: Makefile.in
+ echo stamp > $(srcdir)/test-rules.stamp
+ $(MAKE) test-rules
include $(srcdir)/.test-rules.make
diff --git a/testsuite/test-rules.stamp b/testsuite/test-rules.stamp
new file mode 100644
index 00000000..859afb1d
--- /dev/null
+++ b/testsuite/test-rules.stamp
@@ -0,0 +1 @@
+stamp