[ovs-dev] [manpages 5/5] Improve manpage checking rule.

Ben Pfaff blp at nicira.com
Thu Aug 25 19:34:57 UTC 2011


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 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index fd451e0..9e97662 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 utf8 -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 utf8 -man -p -z $$manpages && touch $@
+	if $$error; then exit 1; else touch $@; fi
 CLEANFILES += manpage-check
 endif
 
-- 
1.7.4.4




More information about the dev mailing list