X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=doc%2FMakefile.am;h=205a1ad8e3bf9acdb64afaff468b6bc3e2c28583;hb=241b72ffadc9128f5fe2d2fc8d9cf3ff5e23f57a;hp=58a27a353587ba1eb58453d1cc7c81e58804a492;hpb=b27b516b68d6047e1f9756ccc84857ab90608c4d;p=chaz%2Ftar diff --git a/doc/Makefile.am b/doc/Makefile.am index 58a27a3..205a1ad 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,11 +1,11 @@ # Makefile for GNU tar documentation. -# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2006 Free -# Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2006, +# 2007 Free Software Foundation, Inc. ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2, or (at your option) +## the Free Software Foundation; either version 3, or (at your option) ## any later version. ## This program is distributed in the hope that it will be useful, @@ -24,15 +24,14 @@ tar_TEXINFOS = \ fdl.texi\ freemanuals.texi\ genfile.texi\ - getdate.texi\ header.texi\ intern.texi\ + parse-datetime.texi\ rendition.texi\ snapshot.texi\ sparse.texi\ value.texi -EXTRA_DIST = gendocs_template mastermenu.el texify.sed -DISTCLEANFILES=*.info* +EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el # The rendering level is anyone of PUBLISH, DISTRIB or PROOF. # Just call `make RENDITION=PROOF [target]' if you want PROOF rendition. @@ -47,27 +46,88 @@ header.texi: $(top_srcdir)/src/tar.h master-menu: $(tar_TEXINFOS) emacs -batch -l mastermenu.el -f make-master-menu $(info_TEXINFOS) +untabify: + emacs -batch -l untabify.el $(info_TEXINFOS) $(tar_TEXINFOS) + +final: untabify master-menu + +# Checking +check-format: + @if test -n "`cat $(info_TEXINFOS) $(tar_TEXINFOS) | tr -d -c '\t'`"; then \ + echo "Sources contain tabs; run make untabify"; \ + false; \ + fi + check-options: - @ARGP_HELP_FMT='usage-indent=0,short-opt-col=0,long-opt-col=0,\ -doc-opt-col=0,opt-doc-col=0,header-col=0,rmargin=1' \ + @ARGP_HELP_FMT='usage-indent=0,short-opt-col=0,long-opt-col=0,doc-opt-col=0,opt-doc-col=0,header-col=0,rmargin=1' \ $(top_builddir)/src/tar --usage | \ sed -n 's/^\[--\([^]\=\[]*\).*/\1/p' | sort | uniq > opts.$$$$;\ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \ $(info_TEXINFOS) | \ sed -n '/^@macro/,/^@end macro/d;s/@opindex *\([^@,]*\).*/\1/p' \ | sort | uniq > docs.$$$$;\ - (echo 'Not documented options:';\ - join -v1 opts.$$$$ docs.$$$$;\ - echo 'Non-existing options:';\ - join -v2 opts.$$$$ docs.$$$$) > report.$$$$;\ - rm opts.$$$$ docs.$$$$;\ - if [ -n "`sed '1,2d' report.$$$$`" ]; then \ - cat report.$$$$;\ - rm report.$$$$;\ - exit 1;\ - fi;\ - rm report.$$$$ - + status=0;\ + join -v1 opts.$$$$ docs.$$$$ > report.$$$$;\ + if test -s report.$$$$; then \ + echo 'Not documented options:'; \ + cat report.$$$$; \ + status=1; \ + fi; \ + join -v2 opts.$$$$ docs.$$$$ > report.$$$$;\ + if test -s report.$$$$; then \ + echo 'Non-existing options:';\ + cat report.$$$$; \ + status=1; \ + fi; \ + rm opts.$$$$ docs.$$$$ report.$$$$;\ + test $$status -ne 0 && exit $$status + +check-refs: + @for file in $(info_TEXINFOS) $(tar_TEXINFOS); \ + do \ + sed -e = $$file | \ + sed -n 'N;/@FIXME-.*ref/{s/\(^[0-9][0-9]*\).*@FIXME-.*ref{\([^}]*\).*/'$$file':\1: \2/gp}'; \ + done > $@-t; \ + if [ -s $@-t ]; then \ + echo "Unresolved cross-references:"; \ + cat $@-t;\ + rm $@-t; \ + else \ + rm -f $@-t; \ + fi + +check-fixmes: + @for file in $(info_TEXINFOS); \ + do \ + sed -e = $$file | \ + sed -n 'N;/@FIXME{/{s/\(^[0-9][0-9]*\).*@FIXME{\([^}]*\).*/'$$file':\1: \2/gp}'; \ + done > $@-t; \ + if [ -s $@-t ]; then \ + echo "Unresolved FIXMEs:"; \ + cat $@-t; \ + rm $@-t; \ + false; \ + else \ + rm -f $@-t; \ + fi + +check-unrevised: + @grep -Hn @UNREVISED $(info_TEXINFOS) > $@-t; \ + if [ -s $@-t ]; then \ + echo "Unrevised nodes:"; \ + cat $@-t; \ + rm $@-t; \ + false;\ + else \ + rm $@-t; \ + fi + +all-check-docs: check-format check-options check-refs check-fixmes check-unrevised + +check-docs: + $(MAKE) -k all-check-docs + +# clean-local: rm -rf manual @@ -83,5 +143,4 @@ manual: TEXINPUTS=$(srcdir):$(top_srcdir)/build-tex:$(TEXINPUTS) \ MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \ TEXI2DVI="$(TEXI2DVI) -t @finalout" \ - $(GENDOCS) tar 'GNU tar manual' - + $(GENDOCS) --texi2html tar 'GNU tar manual'