(check-texinfo): Disallow `filename' in .texi files.
[platform/upstream/coreutils.git] / doc / Makefile.am
1 ## Process this file with automake to produce Makefile.in -*-Makefile-*-
2 info_TEXINFOS = coreutils.texi
3
4 EXTRA_DIST = perm.texi getdate.texi constants.texi doclicense.texi
5
6 # The following is necessary if the package name is 8 characters or longer.
7 # If the info documentation would be split into 10 or more separate files,
8 # then this is necessary even if the package name is 7 characters long.
9 #
10 # Tell makeinfo to put everything in a single info file: <package>.info.
11 # Otherwise, it would also generate files with names like <package>.info-[123],
12 # and those names all map to one 14-byte name (<package>.info-) on some crufty
13 # old systems.
14 MAKEINFO = makeinfo --no-split
15
16 constants.texi: $(top_srcdir)/src/tail.c
17         LC_ALL=C \
18         sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \
19           $(top_srcdir)/src/tail.c > t-$@
20         mv t-$@ $@
21
22 MAINTAINERCLEANFILES = constants.texi
23
24 $(DVIS): $(EXTRA_DIST)
25 $(INFO_DEPS): $(EXTRA_DIST)
26
27 # List words/regexps here that should not appear in the texinfo documentation.
28 # E.g., use @sc{nul}, not `NUL'
29 # and use `time zone', not `timezone'.
30 check-texinfo:
31         fail=0; \
32         grep timezone $(srcdir)/*.texi && fail=1; \
33         grep -w IO $(srcdir)/*.texi && fail=1; \
34         grep non-zero $(srcdir)/*.texi && fail=1; \
35         grep -w NUL $(srcdir)/*.texi && fail=1; \
36         grep '\$$@"' $(srcdir)/*.texi && fail=1; \
37         grep -n filename $(srcdir)/*.texi|grep -vE 'setfilename|{filename}' \
38           && fail=1; \
39         $(PERL) -e 1 2> /dev/null && { $(PERL) -ne \
40           '/\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/ and print,exit 1' \
41           $(srcdir)/*.texi 2> /dev/null || fail=1; }; \
42         exit $$fail
43
44 check: check-texinfo