diff options
author | Daiki Ueno <dueno@redhat.com> | 2018-11-12 15:48:44 +0100 |
---|---|---|
committer | Daiki Ueno <dueno@redhat.com> | 2018-11-13 14:57:16 +0100 |
commit | eac0905a095a13a4652a9ebbf2df0c3e1f867cc5 (patch) | |
tree | 0413f8d1ff96473f496555ba96488407d60600be /src | |
parent | 11c5a3ba0cdf4fcf10094d7dc1f1a8a5a622b8b0 (diff) | |
download | gnutls-eac0905a095a13a4652a9ebbf2df0c3e1f867cc5.tar.gz |
build: use suffix rules for generating .bak files
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 82 | ||||
-rwxr-xr-x | src/args-bak-upd.sh | 37 |
2 files changed, 34 insertions, 85 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 8d5804ccaf..c9bc80bd32 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -55,7 +55,7 @@ BUILT_SOURCES = $(ARGS_BUILT) mech-list.h DISTCLEANFILES = $(BUILT_SOURCES) $(ARGS_STAMPS) -EXTRA_DIST = gen-mech-list.sh args-bak-upd.sh $(ARGS_BAK) +EXTRA_DIST = gen-mech-list.sh $(ARGS_BAK) AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) AM_CPPFLAGS = \ @@ -262,80 +262,71 @@ nodist_libcmd_systemkey_la_SOURCES = systemkey-args.c systemkey-args.h 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) +SUFFIXES = .stamp .def .c.bak .h.bak + +.def.stamp: + $(AM_V_GEN) $(AUTOGEN) $< || { \ + srcdir=''; \ + test -f ./$@ || srcdir=$(srcdir)/; \ + b=`echo $@ | sed 's/.stamp$$//'`; \ + cp -p $${srcdir}$${b}.c.bak $${b}.c; \ + cp -p $${srcdir}$${b}.h.bak $${b}.h; \ + } && \ + touch $@ + +.c.c.bak: + $(AM_V_GEN) srcdir=''; \ + test -f ./$@ || srcdir=$(srcdir)/; \ + test -f $${srcdir}/$@ || cp -p $< $@ + +.h.h.bak: + $(AM_V_GEN) srcdir=''; \ + test -f ./$@ || srcdir=$(srcdir)/; \ + test -f $${srcdir}/$@ || cp -p $< $@ + danetool-args.h: danetool-args.stamp danetool-args.c: danetool-args.stamp -danetool-args.stamp: $(srcdir)/danetool-args.def args-std.def - -$(AUTOGEN) $< - touch $@ +danetool-args.stamp: args-std.def ocsptool-args.h: ocsptool-args.stamp ocsptool-args.c: ocsptool-args.stamp -ocsptool-args.stamp: $(srcdir)/ocsptool-args.def args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +ocsptool-args.stamp: args-std.def tpmtool-args.h: tpmtool-args.stamp tpmtool-args.c: tpmtool-args.stamp -tpmtool-args.stamp: $(srcdir)/tpmtool-args.def args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +tpmtool-args.stamp: args-std.def p11tool-args.h: p11tool-args.stamp p11tool-args.c: p11tool-args.stamp -p11tool-args.stamp: $(srcdir)/p11tool-args.def args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +p11tool-args.stamp: args-std.def psktool-args.h: psktool-args.stamp psktool-args.c: psktool-args.stamp -psktool-args.stamp: $(srcdir)/psktool-args.def args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +psktool-args.stamp: args-std.def 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 args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +cli-debug-args.stamp: args-std.def cli-args.h: cli-args.stamp cli-args.c: cli-args.stamp -cli-args.stamp: $(srcdir)/cli-args.def args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +cli-args.stamp: args-std.def serv-args.h: serv-args.stamp serv-args.c: serv-args.stamp -serv-args.stamp: $(srcdir)/serv-args.def args-std.def - -$(AUTOGEN) $< - touch $@ +serv-args.stamp: args-std.def srptool-args.h: srptool-args.stamp srptool-args.c: srptool-args.stamp -srptool-args.stamp: $(srcdir)/srptool-args.def args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +srptool-args.stamp: args-std.def certtool-args.h: certtool-args.stamp certtool-args.c: certtool-args.stamp -certtool-args.stamp: $(srcdir)/certtool-args.def args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +certtool-args.stamp: args-std.def systemkey-args.h: systemkey-args.stamp systemkey-args.c: systemkey-args.stamp -systemkey-args.stamp: $(srcdir)/systemkey-args.def args-std.def - -$(AUTOGEN) $< - -$(srcdir)/args-bak-upd.sh $@ $(srcdir) - touch $@ +systemkey-args.stamp: args-std.def mech-list.h: gen-mech-list.sh @$(srcdir)/gen-mech-list.sh > mech-list.h.tmp @@ -343,8 +334,3 @@ mech-list.h: gen-mech-list.sh maintainer-clean-local: rm -f *.stamp mech-list.h - -files-update: $(ARGS_STAMPS) - @echo "******************************************************************************************" - @echo "updated autogen files in src/" - @echo "******************************************************************************************" diff --git a/src/args-bak-upd.sh b/src/args-bak-upd.sh deleted file mode 100755 index 2da5eb5b93..0000000000 --- a/src/args-bak-upd.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2018 Dmitry Eremin-Solenikov -# -# This file is part of GnuTLS. -# -# GnuTLS is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 3 of the License, or (at -# your option) any later version. -# -# GnuTLS is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Usage: args-bak-upd.sh file.stamp srcdir - -# update_file file srcdir -update_file() { - if ! test -h "$1" - then - if test "$2" = "." - then - cp "$1" "$1".bak - else - sed -e "s!$2/!!g" "$1" > "$2"/"$1".bak - fi - fi -} - -BASENAME="`basename "$1" .stamp`" -update_file "${BASENAME}.c" "$2" -update_file "${BASENAME}.c" "$2" |