From 1261619f8958b81df97bb45c1b27ca14aa43a3b4 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 26 Oct 2011 16:11:32 -0700 Subject: [PATCH] Improve manpage checking rule. The coverage of the previous version of this rule was incomplete because $(MANS) does not include $(noinst_man_MANS). (Also, $(MANS) is undocumented.) Writing it out as the list of manpages variables that Open vSwitch uses is better. Also, the previous version of the rule didn't actually signal an error when warnings appeared. It looks like troff doesn't have a way to indicate warnings as part of its exit status, so instead we grep the output for "warning". --- Makefile.am | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Makefile.am b/Makefile.am index d7144282..401d23ad 100644 --- a/Makefile.am +++ b/Makefile.am @@ -154,12 +154,14 @@ rate-limit-check: if HAVE_GROFF ALL_LOCAL += manpage-check -manpage-check: $(MANS) $(MAN_FRAGMENTS) - @manpages=; \ - for d in $(MANS); do \ - manpages="$$manpages `test -f $$d || echo $(VPATH)/`$$d"; \ +manpage-check: $(man_MANS) $(dist_man_MANS) $(noinst_man_MANS) + @error=false; \ + for manpage in $?; do \ + LANG=en_US.UTF-8 groff -w mac -w delim -w escape -w input -w missing -w tab -T ascii -man -p -z $$manpage >$@.tmp 2>&1; \ + if grep warning: $@.tmp; then error=:; fi; \ + rm -f $@.tmp; \ done; \ - LANG=en_US.UTF-8 groff -w mac -w delim -w escape -w input -w missing -w tab -T ascii -man -p -z $$manpages && touch $@ + if $$error; then exit 1; else echo touch $@; touch $@; fi CLEANFILES += manpage-check endif -- 2.30.2