summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2011-06-24 20:52:00 +0200
committerJim Meyering <meyering@redhat.com>2011-06-24 20:55:45 +0200
commitfac40623358b11e770df3ef686870632ef4fc104 (patch)
treef0dab8c522df7eb35c5038f9d30cd1be3e1d6c9b /Makefile
parent25e4c2ec96602d132ad4429d6eaebaea1a8f504b (diff)
downloadgnulib-fac40623358b11e770df3ef686870632ef4fc104.tar.gz
syntax-check: keep one maint.mk rule in sync with its header
* Makefile (sc_check_sym_list): Add a rule to prevent a repeat of the bug Eric has just fixed, with today's commit 25e4c2ec. I prefer to avoid temporary files here, so use <(...), but that is not supported by /bin/sh, so... (SHELL): Define to /bin/bash.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile13
1 files changed, 13 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 5dda3b5593..0da864c6ac 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,9 @@
# This Makefile requires the use of GNU make. Some targets require
# that you have tools like git, makeinfo and cppi installed.
+# Required for the use of <(...) below.
+SHELL=/bin/bash
+
# Produce some files that are not stored in the repository.
all:
@@ -95,6 +98,16 @@ sc_cpp_indent_check:
| grep -v '/getloadavg\.c$$' \
| xargs cppi -c
+# Ensure that the list of symbols checked for by the
+# sc_prohibit_intprops_without_use rule match those in the actual file.
+# Extract the symbols from the .h file and compare with the list of
+# symbols extracted from the rule in maint.mk.
+sc_check_sym_list:
+ i=lib/intprops.h; \
+ diff -u <(perl -lne '/^# *define ([A-Z]\w+)\(/ and print $$1' $$i|fmt) \
+ <(sed -n /^_intprops_name/,/^_intprops_syms_re/p top/maint.mk \
+ |sed '/^_/d;s/^ //;s/ *\\$$//')
+
# Regenerate some files that are stored in the repository.
regen: MODULES.html