123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- # Makefile for GNU tar documentation.
- # Copyright 1994-2023 Free Software Foundation, Inc.
- # This file is part of GNU tar.
- # GNU tar 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 3 of the License, or
- # (at your option) any later version.
- # GNU tar is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
- info_TEXINFOS = tar.texi
- tar_TEXINFOS = \
- dumpdir.texi\
- tar-snapshot-edit.texi\
- fdl.texi\
- genfile.texi\
- header.texi\
- intern.texi\
- parse-datetime.texi\
- recipes.texi\
- rendition.texi\
- snapshot.texi\
- sparse.texi\
- value.texi
- dist_man_MANS=tar.1 $(RMT_8)
- if PU_RMT_COND
- RMT_8=rmt.8
- endif
- EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el rmt.8
- # The rendering level is anyone of PUBLISH, DISTRIB or PROOF.
- # Just call 'make RENDITION=PROOF [target]' if you want PROOF rendition.
- RENDITION = DISTRIB
- 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.$$$$;\
- 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
- GENDOCS=$(srcdir)/gendocs.sh
- TEXI2DVI=texi2dvi -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 '@set DISTRIB' -t @finalout" \
- $(GENDOCS) --texi2html tar 'GNU tar manual'
- manual-rebuild: clean-local manual
|