# new ChangeLog entries.
local-checks-available = \
po-check copyright-check writable-files m4-check author_mark_check \
- changelog-check strftime-check $(syntax-check-rules) \
+ changelog-check patch-check strftime-check $(syntax-check-rules) \
makefile_path_separator_check \
makefile-check
.PHONY: $(local-checks-available)
{ echo '$(ME): found trailing blank(s)' \
1>&2; exit 1; } || :
+# Match lines like the following, but where there is only one space
+# between the options and the description:
+# -D, --all-repeated[=delimit-method] print all duplicate lines\n
+longopt_re = --[a-z][0-9A-Za-z-]*(\[=[0-9A-Za-z-]*\])?
sc_two_space_separator_in_usage:
- @grep -n '^ *--[a-z][0-9A-Za-z-]* [^ ].*\\$$' \
+ @grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \
$$($(CVS_LIST_EXCEPT)) && \
{ echo "$(ME): help2man requires at least two spaces between"; \
echo "$(ME): an option and its description"; \
{ echo '$(ME): found useless parentheses in cpp directive' \
1>&2; exit 1; } || :
+# Ensure that the c99-to-c89 patch applies cleanly.
+# For now, it affects only remove.c. Eventually, we'll probably
+# have to copy all of src/ before running patch.
+patch-check:
+ cp src/remove.c tmp-remove.c
+ patch -V never --fuzz=0 tmp-remove.c src/c99-to-c89.diff \
+ > $@.1 2>&1
+ sed -n '2p' $@.1 > $@.2
+ test -s $@.2 && exit 1 || :
+ rm -f tmp-remove.c $@.1 $@.2
+
# Ensure that date's --help output stays in sync with the info
# documentation for GNU strftime. The only exception is %N,
# which date accepts but GNU strftime does not.
cvs-check: cvs-diff-check cvs-tag-check
-maintainer-distcheck: changelog-check
+maintainer-distcheck:
$(MAKE) distcheck
$(MAKE) my-distcheck
xdelta delta -9 $^ $@ || :
.PHONY: alpha beta major
-alpha beta major: news-date-check $(local-check)
+alpha beta major: news-date-check changelog-check $(local-check)
+ test $@ = major \
+ && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
+ || { echo "invalid version string: $(VERSION)" 1>&2; exit 1; }}\
+ || :
$(MAKE) cvs-dist
$(MAKE) $(xd-delta)
$(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)