1# Makefile for GNU tar documentation.
2
3# Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2006 Free
4# Software Foundation, Inc.
5
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; either version 2, or (at your option)
9## any later version.
10
11## This program is distributed in the hope that it will be useful,
12## but WITHOUT ANY WARRANTY; without even the implied warranty of
13## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14## GNU General Public License for more details.
15
16## You should have received a copy of the GNU General Public License
17## along with this program; if not, write to the Free Software Foundation,
18## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
20info_TEXINFOS = tar.texi
21tar_TEXINFOS = \
22 dumpdir.texi\
23 fdl.texi\
24 freemanuals.texi\
25 genfile.texi\
26 getdate.texi\
27 header.texi\
28 intern.texi\
29 rendition.texi\
30 snapshot.texi\
31 sparse.texi\
32 value.texi
33EXTRA_DIST = gendocs_template mastermenu.el texify.sed
34DISTCLEANFILES=*.info* 
35
36# The rendering level is anyone of PUBLISH, DISTRIB or PROOF.
37# Just call `make RENDITION=PROOF [target]' if you want PROOF rendition.
38RENDITION = DISTRIB
39
40MAKEINFOFLAGS=-D$(RENDITION)
41
42header.texi: $(top_srcdir)/src/tar.h
43	sed -f $(srcdir)/texify.sed $(top_srcdir)/src/tar.h \
44	  | expand >$@
45
46master-menu: $(tar_TEXINFOS)
47	emacs -batch -l mastermenu.el -f make-master-menu $(info_TEXINFOS)
48
49check-options:
50	@ARGP_HELP_FMT='usage-indent=0,short-opt-col=0,long-opt-col=0,\
51doc-opt-col=0,opt-doc-col=0,header-col=0,rmargin=1' \
52	$(top_builddir)/src/tar --usage | \
53	sed -n 's/^\[--\([^]\=\[]*\).*/\1/p' | sort | uniq > opts.$$$$;\
54	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \
55            $(info_TEXINFOS) | \
56	sed -n '/^@macro/,/^@end macro/d;s/@opindex *\([^@,]*\).*/\1/p' \
57	     | sort | uniq > docs.$$$$;\
58	(echo 'Not documented options:';\
59	 join -v1 opts.$$$$ docs.$$$$;\
60	 echo 'Non-existing options:';\
61	 join -v2 opts.$$$$ docs.$$$$) > report.$$$$;\
62	 rm opts.$$$$ docs.$$$$;\
63	 if [ -n "`sed '1,2d' report.$$$$`" ]; then \
64	   cat report.$$$$;\
65	   rm report.$$$$;\
66	   exit 1;\
67	 fi;\
68	 rm report.$$$$
69
70
71clean-local:
72	rm -rf manual
73
74GENDOCS=gendocs.sh
75
76TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E
77
78# Make sure you set TEXINPUTS
79# Usual value is:
80# /usr/share/texmf/pdftex/plain/misc:/usr/share/texmf/pdftex/config
81manual:
82	TEXINPUTS=$(srcdir):$(top_srcdir)/build-tex:$(TEXINPUTS) \
83	 MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \
84	 TEXI2DVI="$(TEXI2DVI) -t @finalout" \
85	$(GENDOCS) tar 'GNU tar manual'
86
87