# HG changeset patch # User Jim Meyering # Date 1300038333 -3600 # Node ID e29883807ecf6f1f0ee669616f40e7cb110c2d5c # Parent f23a6a383241913f869bbc02c6c4521b31a848f4 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. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-03-13 Jim Meyering + + 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 Bruno Haible diff --git a/Makefile b/Makefile --- 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 @@ 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 \