summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2017-01-09 08:15:51 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2017-01-09 08:16:44 +0100
commit1752e71d4f49b2f63c4d9c5fd993a40d10f2b75c (patch)
treedbf70e8de2bbb50165c90e2573f999911f1403d6
parent9c95326d4fd3d168a0071a045fbb680eb35fb046 (diff)
downloadgnutls-1752e71d4f49b2f63c4d9c5fd993a40d10f2b75c.tar.gz
tools: use stamp files to allow parallel build of autogen files
Autogen seems to output on the creates files gradually, something that makes 'make' believe that the command is complete prior to the output file being fully populated. The current approach uses stamp files to ensure that no incomplete files are used for compilation.
-rw-r--r--.gitignore1
-rw-r--r--src/Makefile.am72
2 files changed, 53 insertions, 20 deletions
diff --git a/.gitignore b/.gitignore
index 92bfb42781..86ccc6f327 100644
--- a/.gitignore
+++ b/.gitignore
@@ -716,3 +716,4 @@ tests/crlverify
tests/dane
tests/suite/pkcs11-is-known
tests/suite/pkcs11-combo
+src/*.stamp
diff --git a/src/Makefile.am b/src/Makefile.am
index 4cb64b15f3..3277eb6a22 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -203,33 +203,65 @@ libcmd_tpmtool_la_LIBADD += $(LTLIBREADLINE) $(INET_PTON_LIB) $(LIB_CLOCK_GETTIM
endif # ENABLE_TROUSERS
-danetool-args.h: danetool-args.c
-danetool-args.c: $(srcdir)/danetool-args.def $(srcdir)/args-std.def
+danetool-args.h: danetool-args.stamp
+danetool-args.c: danetool-args.stamp
+danetool-args.stamp: $(srcdir)/danetool-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-ocsptool-args.h: ocsptool-args.c
-ocsptool-args.c: $(srcdir)/ocsptool-args.def $(srcdir)/args-std.def
+ touch $@
+
+ocsptool-args.h: ocsptool-args.stamp
+ocsptool-args.c: ocsptool-args.stamp
+ocsptool-args.stamp: $(srcdir)/ocsptool-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-tpmtool-args.h: tpmtool-args.c
-tpmtool-args.c: $(srcdir)/tpmtool-args.def $(srcdir)/args-std.def
+ touch $@
+
+tpmtool-args.h: tpmtool-args.stamp
+tpmtool-args.c: tpmtool-args.stamp
+tpmtool-args.stamp: $(srcdir)/tpmtool-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-p11tool-args.h: p11tool-args.c
-p11tool-args.c: $(srcdir)/p11tool-args.def $(srcdir)/args-std.def
+ touch $@
+
+p11tool-args.h: p11tool-args.stamp
+p11tool-args.c: p11tool-args.stamp
+p11tool-args.stamp: $(srcdir)/p11tool-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-psktool-args.h: psktool-args.c
-psktool-args.c: $(srcdir)/psktool-args.def $(srcdir)/args-std.def
+ touch $@
+
+psktool-args.h: psktool-args.stamp
+psktool-args.c: psktool-args.stamp
+psktool-args.stamp: $(srcdir)/psktool-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-cli-debug-args.h: cli-debug-args.c
-cli-debug-args.c: $(srcdir)/cli-debug-args.def $(srcdir)/args-std.def
+ touch $@
+
+cli-debug-args.h: cli-debug-args.stamp
+cli-debug-args.c: cli-debug-args.stamp
+cli-debug-args.stamp: $(srcdir)/cli-debug-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-cli-args.h: cli-args.c
-cli-args.c cli-args.h: $(srcdir)/cli-args.def $(srcdir)/args-std.def
+ touch $@
+
+cli-args.h: cli-args.stamp
+cli-args.c: cli-args.stamp
+cli-args.stamp: $(srcdir)/cli-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-serv-args.h: serv-args.c
-serv-args.c: $(srcdir)/serv-args.def $(srcdir)/args-std.def
+ touch $@
+
+serv-args.h: serv-args.stamp
+serv-args.c: serv-args.stamp
+serv-args.stamp: $(srcdir)/serv-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-srptool-args.h: srptool-args.c
-srptool-args.c: $(srcdir)/srptool-args.def $(srcdir)/args-std.def
+ touch $@
+
+srptool-args.h: srptool-args.stamp
+srptool-args.c: srptool-args.stamp
+srptool-args.stamp: $(srcdir)/srptool-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
-certtool-args.h: certtool-args.c
-certtool-args.c: $(srcdir)/certtool-args.def $(srcdir)/args-std.def
+ touch $@
+
+certtool-args.h: certtool-args.stamp
+certtool-args.c: certtool-args.stamp
+certtool-args.stamp: $(srcdir)/certtool-args.def $(srcdir)/args-std.def
-$(AUTOGEN) $<
+ touch $@
+
+clean-local:
+ rm -f *.stamp