mirror of
git://git.sv.gnu.org/coreutils
synced 2026-05-14 10:57:22 -04:00
build: don't use recursive make to build the 'man' subdirectory
* Makefile.am: Include 'man/local.mk'. (SUBDIRS): Remove 'man'. * configure.ac ($MAN): Adjust so that each of its entries has a leading 'man/' component. (AC_CONFIG_FILES): Remove 'man/Makefile'. * man/Makefile.am: Rename ... * man/local.mk: ... like this. With further adjustments: each 'foo.1' target renamed like 'man/foo.1', each '../src/foo.c' dependency as 'src/foo.c', and each '$(srcdir)' usage as '$(srcdir)/man'. Also ... (mandep): Adjust, removing the leading '../' component. Several whitespace adjustments while at it. (ASSORT): Remove, it's already defined in the top-level Makefile.am. * cfg.mk (sc_option_desc_uppercase, sc_man_file_correlation): Remove the associated recipes, they are now directly available from the included 'man/local.mk'. Actually, the other changes in this commit have made these recipes instable and not completely correct, but that will be fixed in later changes.
This commit is contained in:
committed by
Jim Meyering
parent
34e2473f41
commit
44547edd7c
+2
-1
@@ -17,7 +17,7 @@
|
||||
|
||||
ALL_RECURSIVE_TARGETS =
|
||||
|
||||
SUBDIRS = lib src man po tests gnulib-tests
|
||||
SUBDIRS = lib src po tests gnulib-tests
|
||||
|
||||
changelog_etc = \
|
||||
ChangeLog-2005 \
|
||||
@@ -175,3 +175,4 @@ all_programs:
|
||||
@cd ./src && $(MAKE) -s $@
|
||||
|
||||
include $(top_srcdir)/doc/local.mk
|
||||
include $(top_srcdir)/man/local.mk
|
||||
|
||||
@@ -172,12 +172,10 @@ sc_long_lines:
|
||||
# but that would miss descriptions not on the same line as the -option.
|
||||
ALL_RECURSIVE_TARGETS += sc_option_desc_uppercase
|
||||
sc_option_desc_uppercase: all_programs
|
||||
@$(MAKE) -s -C man $@
|
||||
|
||||
# Ensure all man/*.[1x] files are present
|
||||
ALL_RECURSIVE_TARGETS += sc_man_file_correlation
|
||||
sc_man_file_correlation: all_programs
|
||||
@$(MAKE) -s -C man $@
|
||||
|
||||
# Ensure that the end of each release's section is marked by two empty lines.
|
||||
sc_NEWS_two_empty_lines:
|
||||
|
||||
+1
-2
@@ -465,7 +465,7 @@ MAN=`
|
||||
dnl Use the autoconf-provided quadrigraph to represent "[",
|
||||
dnl otherwise we will incur in dreadful quoting issues.
|
||||
test x$p = x'@<:@' && continue
|
||||
echo "$p.1"
|
||||
echo "man/$p.1"
|
||||
done`
|
||||
# Normalize whitespace.
|
||||
MAN=`echo $MAN`
|
||||
@@ -496,7 +496,6 @@ gt_LOCALE_FR
|
||||
AC_CONFIG_FILES(
|
||||
Makefile
|
||||
lib/Makefile
|
||||
man/Makefile
|
||||
po/Makefile.in
|
||||
src/Makefile
|
||||
tests/Makefile
|
||||
|
||||
-226
@@ -1,226 +0,0 @@
|
||||
# Make coreutils man pages. -*-Makefile-*-
|
||||
|
||||
# Copyright (C) 2002-2012 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 of the License, 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
dist_man1_MANS = $(MAN)
|
||||
|
||||
man_aux = $(dist_man1_MANS:.1=.x)
|
||||
|
||||
EXTRA_DIST = $(man_aux) help2man
|
||||
MAINTAINERCLEANFILES = $(dist_man1_MANS)
|
||||
|
||||
# The "$(VAR:%=%.x)" idiom is not portable according to POSIX, but in
|
||||
# practice it works with several make implementation (GNU, BSD, CCS make
|
||||
# from Solaris 10, Sun distributed make). In addition, since only
|
||||
# maintainers are expected to build release tarballs (and they should
|
||||
# use GNU make when doing so), it's not big deal if this won't work with
|
||||
# some dumber make implementation.
|
||||
EXTRA_DIST += \
|
||||
$(NO_INSTALL_PROGS_DEFAULT:%=%.x) \
|
||||
$(NO_INSTALL_PROGS_DEFAULT:%=%.1)
|
||||
|
||||
# Depend on ../.version to get version number changes.
|
||||
mandep = ../.version
|
||||
|
||||
# Note that arch depends on uname.c
|
||||
arch.1: $(mandep) ../src/uname.c
|
||||
|
||||
base64.1: $(mandep) ../src/base64.c
|
||||
basename.1: $(mandep) ../src/basename.c
|
||||
cat.1: $(mandep) ../src/cat.c
|
||||
chcon.1: $(mandep) ../src/chcon.c
|
||||
chgrp.1: $(mandep) ../src/chgrp.c
|
||||
chmod.1: $(mandep) ../src/chmod.c
|
||||
chown.1: $(mandep) ../src/chown.c
|
||||
chroot.1: $(mandep) ../src/chroot.c
|
||||
cksum.1: $(mandep) ../src/cksum.c
|
||||
comm.1: $(mandep) ../src/comm.c
|
||||
cp.1: $(mandep) ../src/cp.c
|
||||
csplit.1: $(mandep) ../src/csplit.c
|
||||
cut.1: $(mandep) ../src/cut.c
|
||||
date.1: $(mandep) ../src/date.c
|
||||
dd.1: $(mandep) ../src/dd.c
|
||||
df.1: $(mandep) ../src/df.c
|
||||
|
||||
# Note that dir depends on ls.c, since that's where its --help text is.
|
||||
dir.1: $(mandep) ../src/ls.c
|
||||
|
||||
dircolors.1: $(mandep) ../src/dircolors.c
|
||||
dirname.1: $(mandep) ../src/dirname.c
|
||||
du.1: $(mandep) ../src/du.c
|
||||
echo.1: $(mandep) ../src/echo.c
|
||||
env.1: $(mandep) ../src/env.c
|
||||
expand.1: $(mandep) ../src/expand.c
|
||||
expr.1: $(mandep) ../src/expr.c
|
||||
factor.1: $(mandep) ../src/factor.c
|
||||
false.1: $(mandep) ../src/false.c
|
||||
fmt.1: $(mandep) ../src/fmt.c
|
||||
fold.1: $(mandep) ../src/fold.c
|
||||
groups.1: $(mandep) ../src/groups.c
|
||||
head.1: $(mandep) ../src/head.c
|
||||
hostid.1: $(mandep) ../src/hostid.c
|
||||
hostname.1: $(mandep) ../src/hostname.c
|
||||
id.1: $(mandep) ../src/id.c
|
||||
install.1: $(mandep) ../src/install.c
|
||||
join.1: $(mandep) ../src/join.c
|
||||
kill.1: $(mandep) ../src/kill.c
|
||||
link.1: $(mandep) ../src/link.c
|
||||
ln.1: $(mandep) ../src/ln.c
|
||||
logname.1: $(mandep) ../src/logname.c
|
||||
ls.1: $(mandep) ../src/ls.c
|
||||
md5sum.1: $(mandep) ../src/md5sum.c
|
||||
mkdir.1: $(mandep) ../src/mkdir.c
|
||||
mkfifo.1: $(mandep) ../src/mkfifo.c
|
||||
mknod.1: $(mandep) ../src/mknod.c
|
||||
mktemp.1: $(mandep) ../src/mktemp.c
|
||||
mv.1: $(mandep) ../src/mv.c
|
||||
nice.1: $(mandep) ../src/nice.c
|
||||
nl.1: $(mandep) ../src/nl.c
|
||||
nohup.1: $(mandep) ../src/nohup.c
|
||||
nproc.1: $(mandep) ../src/nproc.c
|
||||
od.1: $(mandep) ../src/od.c
|
||||
paste.1: $(mandep) ../src/paste.c
|
||||
pathchk.1: $(mandep) ../src/pathchk.c
|
||||
pinky.1: $(mandep) ../src/pinky.c
|
||||
pr.1: $(mandep) ../src/pr.c
|
||||
printenv.1: $(mandep) ../src/printenv.c
|
||||
printf.1: $(mandep) ../src/printf.c
|
||||
ptx.1: $(mandep) ../src/ptx.c
|
||||
pwd.1: $(mandep) ../src/pwd.c
|
||||
readlink.1: $(mandep) ../src/readlink.c
|
||||
realpath.1: $(mandep) ../src/realpath.c
|
||||
rm.1: $(mandep) ../src/rm.c
|
||||
rmdir.1: $(mandep) ../src/rmdir.c
|
||||
runcon.1: $(mandep) ../src/runcon.c
|
||||
seq.1: $(mandep) ../src/seq.c
|
||||
sha1sum.1: $(mandep) ../src/md5sum.c
|
||||
sha224sum.1: $(mandep) ../src/md5sum.c
|
||||
sha256sum.1: $(mandep) ../src/md5sum.c
|
||||
sha384sum.1: $(mandep) ../src/md5sum.c
|
||||
sha512sum.1: $(mandep) ../src/md5sum.c
|
||||
shred.1: $(mandep) ../src/shred.c
|
||||
shuf.1: $(mandep) ../src/shuf.c
|
||||
sleep.1: $(mandep) ../src/sleep.c
|
||||
sort.1: $(mandep) ../src/sort.c
|
||||
split.1: $(mandep) ../src/split.c
|
||||
stat.1: $(mandep) ../src/stat.c
|
||||
stdbuf.1: $(mandep) ../src/stdbuf.c
|
||||
stty.1: $(mandep) ../src/stty.c
|
||||
sum.1: $(mandep) ../src/sum.c
|
||||
sync.1: $(mandep) ../src/sync.c
|
||||
tac.1: $(mandep) ../src/tac.c
|
||||
tail.1: $(mandep) ../src/tail.c
|
||||
tee.1: $(mandep) ../src/tee.c
|
||||
test.1: $(mandep) ../src/test.c
|
||||
timeout.1: $(mandep) ../src/timeout.c
|
||||
touch.1: $(mandep) ../src/touch.c
|
||||
tr.1: $(mandep) ../src/tr.c
|
||||
true.1: $(mandep) ../src/true.c
|
||||
truncate.1: $(mandep) ../src/truncate.c
|
||||
tsort.1: $(mandep) ../src/tsort.c
|
||||
tty.1: $(mandep) ../src/tty.c
|
||||
uname.1: $(mandep) ../src/uname.c
|
||||
unexpand.1: $(mandep) ../src/unexpand.c
|
||||
uniq.1: $(mandep) ../src/uniq.c
|
||||
unlink.1: $(mandep) ../src/unlink.c
|
||||
uptime.1: $(mandep) ../src/uptime.c
|
||||
users.1: $(mandep) ../src/users.c
|
||||
vdir.1: $(mandep) ../src/ls.c
|
||||
wc.1: $(mandep) ../src/wc.c
|
||||
who.1: $(mandep) ../src/who.c
|
||||
whoami.1: $(mandep) ../src/whoami.c
|
||||
yes.1: $(mandep) ../src/yes.c
|
||||
|
||||
# This is required so that changes to e.g., emit_bug_reporting_address
|
||||
# provoke regeneration of all $(MAN) files.
|
||||
$(MAN): $(top_srcdir)/src/system.h
|
||||
|
||||
.x.1:
|
||||
$(AM_V_GEN)case '$(PERL)' in \
|
||||
*"/missing "*) \
|
||||
echo 'WARNING: cannot update man page $@ since perl is missing' \
|
||||
'or inadequate' 1>&2 \
|
||||
exit 0;; \
|
||||
esac; \
|
||||
name=`echo $@ | sed -e 's|.*/||' -e 's|\.1$$||'` || exit 1; \
|
||||
## Ensure that help2man runs the 'src/ginstall' binary as 'install' when
|
||||
## creating 'install.1'. Similarly, ensure that it uses the 'src/[' binary
|
||||
## to create 'test.1'.
|
||||
case $$name in \
|
||||
install) prog='ginstall';; \
|
||||
test) prog='[';; \
|
||||
*) prog=$$name;; \
|
||||
esac; \
|
||||
## Note the use of $$t/$*, rather than just '$*' as in other packages.
|
||||
## That is necessary to avoid failures for programs that are also shell
|
||||
## built-in functions like echo, false, printf, pwd.
|
||||
rm -f $@ $@-t \
|
||||
&& t=$*.td \
|
||||
&& rm -rf $$t \
|
||||
&& mkdir $$t \
|
||||
&& (cd $$t && $(LN_S) $(abs_top_builddir)/src/$$prog $$name) \
|
||||
&& $(PERL) -- $(srcdir)/help2man \
|
||||
--source='$(PACKAGE_STRING)' \
|
||||
--include=$(srcdir)/$$name.x \
|
||||
--output=$$t/$$name.1 $$t/$$name \
|
||||
&& sed 's|$*\.td/||g' $$t/$$name.1 > $@-t \
|
||||
&& rm -rf $$t \
|
||||
&& chmod -w $@-t \
|
||||
&& mv $@-t $@
|
||||
|
||||
# Option descriptions should not start with a capital letter
|
||||
.PHONY: sc_option_desc_uppercase
|
||||
sc_option_desc_uppercase: $(dist_man1_MANS) $(NO_INSTALL_PROGS_DEFAULT:%=%.1)
|
||||
@grep '^\\fB\\-' -A1 *.1 | LC_ALL=C grep '\.1.[A-Z][a-z]' && \
|
||||
{ echo 1>&2 '$@: found initial capitals in --help'; \
|
||||
exit 1; } || :;
|
||||
|
||||
.PHONY: sc_man_file_correlation
|
||||
sc_man_file_correlation: check-x-vs-1 check-programs-vs-x
|
||||
|
||||
# Sort in traditional ASCII order, regardless of the current locale;
|
||||
# otherwise we may get into trouble with distinct strings that the
|
||||
# current locale considers to be equal.
|
||||
ASSORT = LC_ALL=C sort
|
||||
|
||||
# Ensure that for each .x file in this directory, there is a
|
||||
# corresponding .1 file in the definition of $(dist_man1_MANS) above.
|
||||
# But since that expansion usually lacks programs like arch and hostname,
|
||||
# add them here manually.
|
||||
.PHONY: check-x-vs-1
|
||||
check-x-vs-1:
|
||||
@PATH=../src$(PATH_SEPARATOR)$$PATH; export PATH; \
|
||||
t=$@-t; \
|
||||
(cd $(srcdir) && ls -1 *.x) | sed 's/\.x$$//' | $(ASSORT) > $$t;\
|
||||
(echo $(dist_man1_MANS) $(NO_INSTALL_PROGS_DEFAULT) \
|
||||
| tr -s ' ' '\n' | sed 's/\.1$$//') \
|
||||
| $(ASSORT) -u | diff - $$t || { rm $$t; exit 1; }; \
|
||||
rm $$t
|
||||
|
||||
all_programs = \
|
||||
(cd ../src && MAKEFLAGS= $(MAKE) -s all_programs.list) \
|
||||
| grep -v '\['
|
||||
|
||||
.PHONY: check-programs-vs-x
|
||||
check-programs-vs-x:
|
||||
@status=0; \
|
||||
for p in dummy `$(all_programs)`; do \
|
||||
test $$p = dummy && continue; \
|
||||
test $$p = ginstall && p=install || : ; \
|
||||
test -f $(srcdir)/$$p.x \
|
||||
|| { echo missing $$p.x 1>&2; status=1; }; \
|
||||
done; \
|
||||
exit $$status
|
||||
+223
@@ -0,0 +1,223 @@
|
||||
# Make coreutils man pages. -*-Makefile-*-
|
||||
# This is included by the top-level Makefile.am.
|
||||
|
||||
# Copyright (C) 2002-2012 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 of the License, 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
dist_man1_MANS = $(MAN)
|
||||
|
||||
man_aux = $(dist_man1_MANS:.1=.x)
|
||||
|
||||
EXTRA_DIST += $(man_aux) man/help2man
|
||||
MAINTAINERCLEANFILES += $(dist_man1_MANS)
|
||||
|
||||
# The "$(VAR:%=dir/%.x)" idiom is not portable according to POSIX, but in
|
||||
# practice it works with several make implementation (GNU, BSD, CCS make
|
||||
# from Solaris 10, Sun distributed make). In addition, since only
|
||||
# maintainers are expected to build release tarballs (and they should
|
||||
# use GNU make when doing so), it's not big deal if this won't work with
|
||||
# some dumber make implementation.
|
||||
EXTRA_DIST += \
|
||||
$(NO_INSTALL_PROGS_DEFAULT:%=man/%.x) \
|
||||
$(NO_INSTALL_PROGS_DEFAULT:%=man/%.1)
|
||||
|
||||
# Depend on this to get version number changes.
|
||||
mandep = .version
|
||||
|
||||
# Note that arch depends on uname.c
|
||||
man/arch.1: $(mandep) src/uname.c
|
||||
|
||||
man/base64.1: $(mandep) src/base64.c
|
||||
man/basename.1: $(mandep) src/basename.c
|
||||
man/cat.1: $(mandep) src/cat.c
|
||||
man/chcon.1: $(mandep) src/chcon.c
|
||||
man/chgrp.1: $(mandep) src/chgrp.c
|
||||
man/chmod.1: $(mandep) src/chmod.c
|
||||
man/chown.1: $(mandep) src/chown.c
|
||||
man/chroot.1: $(mandep) src/chroot.c
|
||||
man/cksum.1: $(mandep) src/cksum.c
|
||||
man/comm.1: $(mandep) src/comm.c
|
||||
man/cp.1: $(mandep) src/cp.c
|
||||
man/csplit.1: $(mandep) src/csplit.c
|
||||
man/cut.1: $(mandep) src/cut.c
|
||||
man/date.1: $(mandep) src/date.c
|
||||
man/dd.1: $(mandep) src/dd.c
|
||||
man/df.1: $(mandep) src/df.c
|
||||
|
||||
# Note that dir depends on ls.c, since that's where its --help text is.
|
||||
man/dir.1: $(mandep) src/ls.c
|
||||
|
||||
man/dircolors.1: $(mandep) src/dircolors.c
|
||||
man/dirname.1: $(mandep) src/dirname.c
|
||||
man/du.1: $(mandep) src/du.c
|
||||
man/echo.1: $(mandep) src/echo.c
|
||||
man/env.1: $(mandep) src/env.c
|
||||
man/expand.1: $(mandep) src/expand.c
|
||||
man/expr.1: $(mandep) src/expr.c
|
||||
man/factor.1: $(mandep) src/factor.c
|
||||
man/false.1: $(mandep) src/false.c
|
||||
man/fmt.1: $(mandep) src/fmt.c
|
||||
man/fold.1: $(mandep) src/fold.c
|
||||
man/groups.1: $(mandep) src/groups.c
|
||||
man/head.1: $(mandep) src/head.c
|
||||
man/hostid.1: $(mandep) src/hostid.c
|
||||
man/hostname.1: $(mandep) src/hostname.c
|
||||
man/id.1: $(mandep) src/id.c
|
||||
man/install.1: $(mandep) src/install.c
|
||||
man/join.1: $(mandep) src/join.c
|
||||
man/kill.1: $(mandep) src/kill.c
|
||||
man/link.1: $(mandep) src/link.c
|
||||
man/ln.1: $(mandep) src/ln.c
|
||||
man/logname.1: $(mandep) src/logname.c
|
||||
man/ls.1: $(mandep) src/ls.c
|
||||
man/md5sum.1: $(mandep) src/md5sum.c
|
||||
man/mkdir.1: $(mandep) src/mkdir.c
|
||||
man/mkfifo.1: $(mandep) src/mkfifo.c
|
||||
man/mknod.1: $(mandep) src/mknod.c
|
||||
man/mktemp.1: $(mandep) src/mktemp.c
|
||||
man/mv.1: $(mandep) src/mv.c
|
||||
man/nice.1: $(mandep) src/nice.c
|
||||
man/nl.1: $(mandep) src/nl.c
|
||||
man/nohup.1: $(mandep) src/nohup.c
|
||||
man/nproc.1: $(mandep) src/nproc.c
|
||||
man/od.1: $(mandep) src/od.c
|
||||
man/paste.1: $(mandep) src/paste.c
|
||||
man/pathchk.1: $(mandep) src/pathchk.c
|
||||
man/pinky.1: $(mandep) src/pinky.c
|
||||
man/pr.1: $(mandep) src/pr.c
|
||||
man/printenv.1: $(mandep) src/printenv.c
|
||||
man/printf.1: $(mandep) src/printf.c
|
||||
man/ptx.1: $(mandep) src/ptx.c
|
||||
man/pwd.1: $(mandep) src/pwd.c
|
||||
man/readlink.1: $(mandep) src/readlink.c
|
||||
man/realpath.1: $(mandep) src/realpath.c
|
||||
man/rm.1: $(mandep) src/rm.c
|
||||
man/rmdir.1: $(mandep) src/rmdir.c
|
||||
man/runcon.1: $(mandep) src/runcon.c
|
||||
man/seq.1: $(mandep) src/seq.c
|
||||
man/sha1sum.1: $(mandep) src/md5sum.c
|
||||
man/sha224sum.1: $(mandep) src/md5sum.c
|
||||
man/sha256sum.1: $(mandep) src/md5sum.c
|
||||
man/sha384sum.1: $(mandep) src/md5sum.c
|
||||
man/sha512sum.1: $(mandep) src/md5sum.c
|
||||
man/shred.1: $(mandep) src/shred.c
|
||||
man/shuf.1: $(mandep) src/shuf.c
|
||||
man/sleep.1: $(mandep) src/sleep.c
|
||||
man/sort.1: $(mandep) src/sort.c
|
||||
man/split.1: $(mandep) src/split.c
|
||||
man/stat.1: $(mandep) src/stat.c
|
||||
man/stdbuf.1: $(mandep) src/stdbuf.c
|
||||
man/stty.1: $(mandep) src/stty.c
|
||||
man/sum.1: $(mandep) src/sum.c
|
||||
man/sync.1: $(mandep) src/sync.c
|
||||
man/tac.1: $(mandep) src/tac.c
|
||||
man/tail.1: $(mandep) src/tail.c
|
||||
man/tee.1: $(mandep) src/tee.c
|
||||
man/test.1: $(mandep) src/test.c
|
||||
man/timeout.1: $(mandep) src/timeout.c
|
||||
man/touch.1: $(mandep) src/touch.c
|
||||
man/tr.1: $(mandep) src/tr.c
|
||||
man/true.1: $(mandep) src/true.c
|
||||
man/truncate.1: $(mandep) src/truncate.c
|
||||
man/tsort.1: $(mandep) src/tsort.c
|
||||
man/tty.1: $(mandep) src/tty.c
|
||||
man/uname.1: $(mandep) src/uname.c
|
||||
man/unexpand.1: $(mandep) src/unexpand.c
|
||||
man/uniq.1: $(mandep) src/uniq.c
|
||||
man/unlink.1: $(mandep) src/unlink.c
|
||||
man/uptime.1: $(mandep) src/uptime.c
|
||||
man/users.1: $(mandep) src/users.c
|
||||
man/vdir.1: $(mandep) src/ls.c
|
||||
man/wc.1: $(mandep) src/wc.c
|
||||
man/who.1: $(mandep) src/who.c
|
||||
man/whoami.1: $(mandep) src/whoami.c
|
||||
man/yes.1: $(mandep) src/yes.c
|
||||
|
||||
# This is required so that changes to e.g., emit_bug_reporting_address
|
||||
# provoke regeneration of all $(MAN) files.
|
||||
$(MAN): $(top_srcdir)/src/system.h
|
||||
|
||||
.x.1:
|
||||
$(AM_V_GEN)case '$(PERL)' in \
|
||||
*"/missing "*) \
|
||||
echo 'WARNING: cannot update man page $@ since perl is missing' \
|
||||
'or inadequate' 1>&2 \
|
||||
exit 0;; \
|
||||
esac; \
|
||||
name=`echo $@ | sed -e 's|.*/||' -e 's|\.1$$||'` || exit 1; \
|
||||
## Ensure that help2man runs the 'src/ginstall' binary as 'install' when
|
||||
## creating 'install.1'. Similarly, ensure that it uses the 'src/[' binary
|
||||
## to create 'test.1'.
|
||||
case $$name in \
|
||||
install) prog='ginstall';; \
|
||||
test) prog='[';; \
|
||||
*) prog=$$name;; \
|
||||
esac; \
|
||||
## Note the use of $$t/$*, rather than just '$*' as in other packages.
|
||||
## That is necessary to avoid failures for programs that are also shell
|
||||
## built-in functions like echo, false, printf, pwd.
|
||||
rm -f $@ $@-t \
|
||||
&& t=$*.td \
|
||||
&& rm -rf $$t \
|
||||
&& mkdir $$t \
|
||||
&& (cd $$t && $(LN_S) $(abs_top_builddir)/src/$$prog $$name) \
|
||||
&& $(PERL) -- $(srcdir)/man/help2man \
|
||||
--source='$(PACKAGE_STRING)' \
|
||||
--include=$(srcdir)/man/$$name.x \
|
||||
--output=$$t/$$name.1 $$t/$$name \
|
||||
&& sed 's|$*\.td/||g' $$t/$$name.1 > $@-t \
|
||||
&& rm -rf $$t \
|
||||
&& chmod -w $@-t \
|
||||
&& mv $@-t $@
|
||||
|
||||
# Option descriptions should not start with a capital letter
|
||||
.PHONY: sc_option_desc_uppercase
|
||||
sc_option_desc_uppercase: $(dist_man1_MANS) $(NO_INSTALL_PROGS_DEFAULT:%=%.1)
|
||||
@grep '^\\fB\\-' -A1 *.1 | LC_ALL=C grep '\.1.[A-Z][a-z]' && \
|
||||
{ echo 1>&2 '$@: found initial capitals in --help'; \
|
||||
exit 1; } || :;
|
||||
|
||||
.PHONY: sc_man_file_correlation
|
||||
sc_man_file_correlation: check-x-vs-1 check-programs-vs-x
|
||||
|
||||
# Ensure that for each .x file in this directory, there is a
|
||||
# corresponding .1 file in the definition of $(dist_man1_MANS) above.
|
||||
# But since that expansion usually lacks programs like arch and hostname,
|
||||
# add them here manually.
|
||||
.PHONY: check-x-vs-1
|
||||
check-x-vs-1:
|
||||
@PATH=./src$(PATH_SEPARATOR)$$PATH; export PATH; \
|
||||
t=$@-t; \
|
||||
(cd $(srcdir)/man && ls -1 *.x) \
|
||||
| sed 's/\.x$$//' | $(ASSORT) > $$t; \
|
||||
(echo $(dist_man1_MANS) $(NO_INSTALL_PROGS_DEFAULT) \
|
||||
| tr -s ' ' '\n' | sed 's/\.1$$//') \
|
||||
| $(ASSORT) -u | diff - $$t || { rm $$t; exit 1; }; \
|
||||
rm $$t
|
||||
|
||||
all_programs = \
|
||||
(cd ./src && MAKEFLAGS= $(MAKE) -s all_programs.list) \
|
||||
| grep -v '\['
|
||||
|
||||
.PHONY: check-programs-vs-x
|
||||
check-programs-vs-x:
|
||||
@status=0; \
|
||||
for p in dummy `$(all_programs)`; do \
|
||||
test $$p = dummy && continue; \
|
||||
test $$p = ginstall && p=install || : ; \
|
||||
test -f $(srcdir)/man/$$p.x \
|
||||
|| { echo missing $$p.x 1>&2; status=1; }; \
|
||||
done; \
|
||||
exit $$status
|
||||
Reference in New Issue
Block a user