From cbc4d9bd1366b0ed277b5dfe2585d22d4070e969 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 23 Apr 2009 08:21:38 +0200 Subject: avoid parallel "make distcheck" failure due to two run-in-src/ rules Move the check-AUTHORS rule from "syntax-check" to "check". * maint.mk (local-checks-available): Remove check-AUTHORS. (check-AUTHORS): Remove rule. * src/Makefile.am (CLEANFILES): Add $(no_install__progs), since they too are built sometimes. (check-AUTHORS): Split a longer-than-80 sed command. (../AUTHORS): Remove obsolete rule. --- src/Makefile.am | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index 9aaf73979..be134be01 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -69,6 +69,10 @@ EXTRA_DIST = dcgen dircolors.hin tac-pipe.c \ BUILT_SOURCES = CLEANFILES = $(SCRIPTS) su +# Also remove these sometimes-built programs. +# For example, even when excluded, they're built via check-AUTHORS. +CLEANFILES += $(no_install__progs) + AM_CPPFLAGS = -I$(top_srcdir)/lib noinst_LIBRARIES = libver.a @@ -359,7 +363,7 @@ pm = progs-makefile pr = progs-readme # Ensure that the list of programs in README matches the list # of programs we can build. -check: check-README check-duplicate-no-install +check: check-README check-duplicate-no-install check-AUTHORS .PHONY: check-README check-README: rm -rf $(pr) $(pm) @@ -394,36 +398,12 @@ check-AUTHORS: $(all_programs) fi; \ LC_ALL=en_US.UTF-8 ./$$exe --version \ | perl -0 -pi -e 's/,\n/, /gm' \ - |sed -n '/Written by /{ s//'"$$i"': /; s/,* and /, /; s/\.$$//; p; }'; \ + | sed -n -e '/Written by /{ s//'"$$i"': /;' \ + -e 's/,* and /, /; s/\.$$//; p; }'; \ done > $(au_actual) @sed -n '/^[^ ][^ ]*:/p' $(top_srcdir)/AUTHORS > $(au_dotdot) @diff $(au_actual) $(au_dotdot) && rm -f $(au_actual) $(au_dotdot) -# Extract the list of authors from each file. -sed_filter = s/^ *//;s/N_ (//;s/^"//;s/")*$$// -# Sometimes the string is on the same line as the #define... -s1 = '/^\#define AUTHORS \([^\\]\)/{;s//\1/;$(sed_filter);p;q;}' -# Sometimes the string is on the backslash-continued line after the #define. -s2 = '/^\#define AUTHORS \\\\/{;n;$(sed_filter);p;q;}' -../AUTHORS: $(SOURCES) - rm -f $@-t - ( \ - set -e; \ - echo "Here are the names of the programs in this package,"; \ - echo "each followed by the name(s) of its author(s)."; \ - echo; \ - for i in $(SOURCES); do \ - a=`sed -n $(s1) $$i`; \ - test "$$a" && : \ - || a=`sed -n $(s2) $$i`; \ - if test "$$a"; then \ - prog=`echo $$i|sed 's/\.c$$//'`; \ - echo "$$prog: $$a"; \ - fi; \ - done | $(ASSORT) -u ) > $@-t - chmod a-w $@-t - mv $@-t $@ - # The following rule is not designed to be portable, # and relies on tools that not everyone has. -- cgit v1.2.3-70-g09d2