* doc/rendition.texi: Change the way FIXME-*refs are handled in !PROOF. * doc/intern.texi, doc/tar.texi: Update. * doc/untabify.el: New file. * doc/Makefile.am (EXTRA_DIST): Add untabify.el (untabify, final, check-format, check-refs, check-fixmes) (check-unrevised, all-check-docs, check-docs): New rules.
145 lines
3.9 KiB
Makefile
145 lines
3.9 KiB
Makefile
# Makefile for GNU tar documentation.
|
|
|
|
# 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 3, or (at your option)
|
|
## any later version.
|
|
|
|
## This program 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, write to the Free Software Foundation,
|
|
## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
info_TEXINFOS = tar.texi
|
|
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 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.$$$$;\
|
|
(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'
|
|
|