~ubuntu-branches/ubuntu/utopic/coreutils/utopic-proposed

« back to all changes in this revision

Viewing changes to doc/Makefile.am

  • Committer: Package Import Robot
  • Author(s): Colin Watson
  • Date: 2012-11-28 03:03:42 UTC
  • mfrom: (8.3.4 sid)
  • Revision ID: package-import@ubuntu.com-20121128030342-21zanj8354gas5gr
Tags: 8.20-3ubuntu1
* Resynchronise with Debian.  Remaining changes:
  - Make 'uname -i -p' return the real processor/hardware, instead of
    unknown.
  - Build-depend on gettext:any instead of on gettext, so that apt-get can
    properly resolve build-dependencies on the tool when cross-building.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Make coreutils documentation.                         -*-Makefile-*-
2
 
 
3
 
# Copyright (C) 1995-1998, 2001-2011 Free Software Foundation, Inc.
4
 
 
5
 
# This program is free software: you can redistribute it and/or modify
6
 
# it under the terms of the GNU General Public License as published by
7
 
# the Free Software Foundation, either version 3 of the License, or
8
 
# (at your option) any later version.
9
 
 
10
 
# This program is distributed in the hope that it will be useful,
11
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 
# GNU General Public License for more details.
14
 
 
15
 
# You should have received a copy of the GNU General Public License
16
 
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
 
 
18
 
info_TEXINFOS = coreutils.texi
19
 
 
20
 
EXTRA_DIST = perm.texi parse-datetime.texi constants.texi fdl.texi
21
 
 
22
 
# The following is necessary if the package name is 8 characters or longer.
23
 
# If the info documentation would be split into 10 or more separate files,
24
 
# then this is necessary even if the package name is 7 characters long.
25
 
#
26
 
# Tell makeinfo to put everything in a single info file: <package>.info.
27
 
# Otherwise, it would also generate files with names like <package>.info-[123],
28
 
# and those names all map to one 14-byte name (<package>.info-) on some crufty
29
 
# old systems.
30
 
AM_MAKEINFOFLAGS = --no-split
31
 
 
32
 
constants.texi: $(top_srcdir)/src/tail.c $(top_srcdir)/src/shred.c
33
 
        $(AM_V_GEN)LC_ALL=C; export LC_ALL; \
34
 
        { sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \
35
 
            $(top_srcdir)/src/tail.c && \
36
 
          sed -n -e \
37
 
              's/.*\(DEFAULT_PASSES\)[ =]* \([0-9]*\).*/@set SHRED_\1 \2/p'\
38
 
            $(top_srcdir)/src/shred.c; } > t-$@ \
39
 
          && mv t-$@ $@
40
 
 
41
 
MAINTAINERCLEANFILES = constants.texi
42
 
 
43
 
$(DVIS): $(EXTRA_DIST)
44
 
$(INFO_DEPS): $(EXTRA_DIST)
45
 
 
46
 
# Extended regular expressions to match word starts and ends.
47
 
_W = (^|[^A-Za-z0-9_])
48
 
W_ = ([^A-Za-z0-9_]|$$)
49
 
 
50
 
syntax_checks =         \
51
 
  sc-avoid-builtin      \
52
 
  sc-avoid-io           \
53
 
  sc-avoid-non-zero     \
54
 
  sc-avoid-path         \
55
 
  sc-avoid-timezone     \
56
 
  sc-avoid-zeroes       \
57
 
  sc-exponent-grouping  \
58
 
  sc-lower-case-var     \
59
 
  sc-use-small-caps-NUL
60
 
 
61
 
.PHONY: $(syntax_checks) check-texinfo
62
 
 
63
 
# List words/regexps here that should not appear in the texinfo documentation.
64
 
BAD_POSIX_PERL = /\bPOSIX\b/ && !/\@acronym{POSIX}/ && !/^\* / || /{posix}/
65
 
check-texinfo: $(syntax_checks)
66
 
        $(AM_V_GEN)fail=0;                                              \
67
 
        grep '@url{' $(srcdir)/*.texi && fail=1;                        \
68
 
        grep '\$$@"' $(srcdir)/*.texi && fail=1;                        \
69
 
        grep -n '[^[:punct:]]@footnote' $(srcdir)/*.texi && fail=1;     \
70
 
        grep -n filename $(srcdir)/*.texi                               \
71
 
            | $(EGREP) -v 'setfilename|[{]filename[}]'                  \
72
 
          && fail=1;                                                    \
73
 
        $(PERL) -e 1 2> /dev/null && { $(PERL) -ne                      \
74
 
          '$(BAD_POSIX_PERL) and print,exit 1'                          \
75
 
          $(srcdir)/*.texi 2> /dev/null || fail=1; };                   \
76
 
        exit $$fail
77
 
 
78
 
sc-avoid-builtin:
79
 
        $(AM_V_GEN)$(EGREP) -i '$(_W)builtins?$(W_)' $(srcdir)/*.texi   \
80
 
          && exit 1 || :
81
 
 
82
 
sc-avoid-path:
83
 
        $(AM_V_GEN)fail=0;                                              \
84
 
        $(EGREP) -i '$(_W)path(name)?s?$(W_)' $(srcdir)/*.texi          \
85
 
          | $(EGREP) -v                                                 \
86
 
          'PATH=|path search|search path|@vindex PATH$$|@env[{]PATH[}]' \
87
 
          && fail=1;                                                    \
88
 
        exit $$fail
89
 
 
90
 
# Use `time zone', not `timezone'.
91
 
sc-avoid-timezone:
92
 
        $(AM_V_GEN)$(EGREP) timezone $(srcdir)/*.texi && exit 1 || :
93
 
 
94
 
# Check for insufficient exponent grouping, e.g.,
95
 
# @math{2^64} should be @math{2^{64}}.
96
 
sc-exponent-grouping:
97
 
        $(AM_V_GEN)$(EGREP) '\{.*\^[0-9][0-9]' $(srcdir)/*.texi && exit 1 || :
98
 
 
99
 
# E.g., use @sc{nul}, not NUL.
100
 
sc-use-small-caps-NUL:
101
 
        $(AM_V_GEN)$(EGREP) '$(_W)NUL$(W_)' $(srcdir)/*.texi && exit 1 || :
102
 
 
103
 
# Say I/O, not IO.
104
 
sc-avoid-io:
105
 
        $(AM_V_GEN)$(EGREP) '$(_W)IO$(W_)' $(srcdir)/*.texi && exit 1 || :
106
 
 
107
 
# I prefer nonzero over non-zero.
108
 
sc-avoid-non-zero:
109
 
        $(AM_V_GEN)$(EGREP) non-zero $(srcdir)/*.texi && exit 1 || :
110
 
 
111
 
# Use `zeros', not `zeroes' (nothing wrong with `zeroes'. just be consistent).
112
 
sc-avoid-zeroes:
113
 
        $(AM_V_GEN)$(EGREP) -i '$(_W)zeroes$(W_)' $(srcdir)/*.texi \
114
 
          && exit 1 || :
115
 
 
116
 
# ME = $(subdir)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
117
 
ME = doc/Makefile
118
 
 
119
 
# The quantity inside @var{...} should not contain upper case letters.
120
 
# The leading backslash exemption is to permit in-macro uses like
121
 
# @var{\varName\} where the upper case letter is part of a parameter name.
122
 
find_upper_case_var =           \
123
 
  '/\@var{/ or next;            \
124
 
   while (/\@var{(.+?)}/g)      \
125
 
     {                          \
126
 
       $$v = $$1;               \
127
 
       $$v =~ /[A-Z]/ && $$v !~ /^\\/ and (print "$$ARGV:$$.:$$_"), $$m = 1 \
128
 
     }                          \
129
 
   END {$$m and (warn "$(ME): do not use upper case in \@var{...}\n"), exit 1}'
130
 
sc-lower-case-var:
131
 
        $(AM_V_GEN)$(PERL) -e 1 || { echo $@: skipping test; exit 0; }; \
132
 
          $(PERL) -lne $(find_upper_case_var) $(srcdir)/*.texi
133
 
 
134
 
check: check-texinfo