X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=doc%2FMakefile.am;h=1715d3566b9bd38dd6d110e822dfd0a5cb76e83c;hb=1bcbbcf1ff2c537ffa970dbf82e3843d4ad110e5;hp=ee3a7820bacf1f2c341116c3417dadc5bf1da375;hpb=eb42c0070d54b227c2cca3c6e53aa37717ce2aaf;p=chaz%2Ftar diff --git a/doc/Makefile.am b/doc/Makefile.am index ee3a782..1715d35 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 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, @@ -15,37 +15,130 @@ ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software Foundation, -## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. info_TEXINFOS = tar.texi - -EXTRA_DIST = convtexi.pl fdl.texi freemanuals.texi getdate.texi header.texi - -CLEANFILES = tmp-* +tar_TEXINFOS = \ + dumpdir.texi\ + tar-snapshot-edit.texi\ + fdl.texi\ + freemanuals.texi\ + genfile.texi\ + getdate.texi\ + header.texi\ + intern.texi\ + rendition.texi\ + snapshot.texi\ + sparse.texi\ + value.texi +EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el # The rendering level is anyone of PUBLISH, DISTRIB or PROOF. -# Just call `make dvi RENDITION=PROOF' if you want PROOF rendition. +# Just call `make RENDITION=PROOF [target]' if you want PROOF rendition. RENDITION = DISTRIB -$(srcdir)/tar.info: tar.texi fdl.texi freemanuals.texi getdate.texi \ - $(srcdir)/header.texi version.texi - $(MAKEINFO) --no-split -D$(RENDITION) -I$(srcdir) tar.texi -o $@ - -tar.dvi: tar.texi getdate.texi $(srcdir)/header.texi version.texi - $(MAKEINFO) -D$(RENDITION) -Etmp-tar.tmp -otmp-tar.info \ - -I$(srcdir) tar.texi - rm -f tmp-tar.sed tmp-tar.info* - test $(RENDITION) = DISTRIB \ - || echo >>tmp-tar.sed 's/^@set DISTRIB/@set $(RENDITION)/' - test $(RENDITION) = PUBLISH \ - || echo >>tmp-tar.sed '/^@smallbook/d' - sed -f tmp-tar.sed tmp-tar.tmp > tmp-tar.texi - rm -f tmp-tar.sed tmp-tar.tmp - TEXINPUTS=$(top_srcdir)/config:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2DVI) tmp-tar.texi - mv tmp-tar.dvi $@ - -$(srcdir)/header.texi: $(top_srcdir)/src/tar.h - sed -n '/Archive Format/,/End of Format/p' $(top_srcdir)/src/tar.h \ - | expand | sed 's/\([{}]\)/@\1/g' >$@ +MAKEINFOFLAGS=-D$(RENDITION) + +header.texi: $(top_srcdir)/src/tar.h + sed -f $(srcdir)/texify.sed $(top_srcdir)/src/tar.h \ + | expand >$@ + +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' \ + $(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.$$$$ + +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 + +GENDOCS=gendocs.sh + +TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E + +# Make sure you set TEXINPUTS +# Usual value is: +# /usr/share/texmf/pdftex/plain/misc:/usr/share/texmf/pdftex/config +manual: + TEXINPUTS=$(srcdir):$(top_srcdir)/build-tex:$(TEXINPUTS) \ + MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \ + TEXI2DVI="$(TEXI2DVI) -t @finalout" \ + $(GENDOCS) --texi2html tar 'GNU tar manual' +