From 92d25ed3dd0b1d2f0e0cd48b508cc8ed3e9882ef Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Tue, 29 Nov 2016 15:51:18 +0100 Subject: 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. --- .gitignore | 1 + src/Makefile.am | 75 ++++++++++++++++++++++++++++++++++++++++----------------- 2 files changed, 54 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 8d4525fad0..01e482e7be 100644 --- a/.gitignore +++ b/.gitignore @@ -769,3 +769,4 @@ tests/mini-server-name tests/mini-x509-cert-callback tests/sign-md5-rep tests/slow/cipher-override2 +src/*.stamp diff --git a/src/Makefile.am b/src/Makefile.am index 06b1f46cfe..6c145af85a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -218,37 +218,68 @@ libcmd_systemkey_la_SOURCES = systemkey-args.def systemkey-args.c systemkey-args libcmd_systemkey_la_LIBADD = ../lib/libgnutls.la gl/libgnu_gpl.la ../gl/libgnu.la libcmd_systemkey_la_LIBADD += $(LTLIBREADLINE) $(INET_PTON_LIB) $(LIB_CLOCK_GETTIME) -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 cli-args.h: $(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 $@ -systemkey-args.h: systemkey-args.c -systemkey-args.c: $(srcdir)/systemkey-args.def $(srcdir)/args-std.def +systemkey-args.h: systemkey-args.stamp +systemkey-args.c: systemkey-args.stamp +systemkey-args.stamp: $(srcdir)/systemkey-args.def $(srcdir)/args-std.def -$(AUTOGEN) $< + touch $@ -- cgit v1.2.1