Bruno Haible wrote: > Eric Blake wrote: >> > This Makefile is so specialized that I think it can assume GNU make. >> > Does anyone prefer not to do that? >> >> No complaint by me, although we might want to 'git mv {,GNU}Makefile' to >> make the change obvious. > > When a newbie looks whether there is a Makefile, he looks for 'Makefile'. > I therefore find it preferable to not rename 'Makefile' to 'GNUmakefile', > and instead add a comment such as "This Makefile assumes GNU make, git, > and makeinfo for the documentation."
I've pushed this: >From ca56fa858e1d4499a1b4483fae0b60294115cdfc Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Sun, 13 Mar 2011 18:45:33 +0100 Subject: [PATCH] Makefile: rely on GNU make; derive syntax-check rule names Rather than requiring that each sc_ rule be listed as a dependent of "check", use features of GNU make to derive the list. * Makefile (syntax-check-rules): Define. (check): Depend on the new variable, not the hard-coded list. Add a comment listing a few requirements. --- ChangeLog | 8 ++++++++ Makefile | 14 +++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 74afdbb..693f4cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-03-13 Jim Meyering <meyer...@redhat.com> + + Makefile: rely on GNU make; derive syntax-check rule names + Rather than requiring that each sc_ rule be listed as a dependent + of "check", use features of GNU make to derive the list. + * Makefile (syntax-check-rules): Define. + (check): Depend on the new variable, not the hard-coded list. + 2011-03-13 Bastien Roucariès <roucaries.bast...@gmail.com> Bruno Haible <br...@clisp.org> diff --git a/Makefile b/Makefile index 9c0d0c3..c9bfc16 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,13 @@ -# Makefile for gnulib central. +# GNU Makefile for gnulib central. # Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc. # # Copying and distribution of this file, with or without modification, # in any medium, are permitted without royalty provided the copyright # notice and this notice are preserved. +# This Makefile requires the use of GNU make. Some targets require +# that you have tools like git, makeinfo and cppi installed. + # Produce some files that are not stored in the repository. all: @@ -12,11 +15,12 @@ all: info html dvi pdf: cd doc && $(MAKE) $@ && $(MAKE) mostlyclean +# Collect the names of rules starting with `sc_'. +syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p'\ + Makefile)) + # Perform some platform independent checks on the gnulib code. -check: \ - sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT \ - sc_pragma_columns \ - sc_prefer_ac_check_funcs_once +check: $(syntax-check-rules) sc_prefer_ac_check_funcs_once: if test -d .git; then \ -- 1.7.4.1.408.gb6b16