mirror of
https://git.savannah.gnu.org/git/coreutils.git
synced 2026-10-24 02:08:57 +03:00
Since v9.10 (Feb 2026) --help always outputs bold and hyperlinks even when output was not a tty, as this was thought more useful with pagers and grep etc. This change makes the more conservative choice of only outputting markup to tty so that users who do not have less setup to display color (-R), or users who enable color by default in grep, get improved output (though without URLs etc.) * src/system.h (oputs_): Call isatty() when not forcing markup with $IN_HELP2MAN. Also reverse the double negatives to a more natural form. * man/local.mk: Remove redundant assignment of $TERM. * doc/coreutils.texi (common options): Mention that --help markup requires output to be a tty, and that $IN_HELP2MAN overrides that. * NEWS: Mention the change in behavior.
218 lines
7.3 KiB
Makefile
218 lines
7.3 KiB
Makefile
# Make coreutils man pages. -*-Makefile-*-
|
|
# This is included by the top-level Makefile.am.
|
|
|
|
# Copyright (C) 2002-2026 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 <https://www.gnu.org/licenses/>.
|
|
|
|
EXTRA_DIST += man/help2man man/dummy-man
|
|
|
|
## Use the distributed man pages if cross compiling or lack perl
|
|
if CROSS_COMPILING
|
|
run_help2man = $(SHELL) $(srcdir)/man/dummy-man
|
|
else
|
|
## Graceful degradation for systems lacking perl.
|
|
if HAVE_PERL
|
|
if BOLD_MAN_REFS
|
|
help2man_OPTS=--bold-refs
|
|
endif
|
|
run_help2man = env IN_HELP2MAN=1 $(PERL) -- \
|
|
$(srcdir)/man/help2man --loose-indent $(help2man_OPTS)
|
|
else
|
|
run_help2man = $(SHELL) $(srcdir)/man/dummy-man
|
|
endif
|
|
endif
|
|
|
|
man1_MANS = @man1_MANS@
|
|
EXTRA_DIST += $(man1_MANS) $(man1_MANS:.1=.x)
|
|
|
|
EXTRA_MANS = @EXTRA_MANS@
|
|
EXTRA_DIST += $(EXTRA_MANS) $(EXTRA_MANS:.1=.x)
|
|
|
|
ALL_MANS = $(man1_MANS) $(EXTRA_MANS)
|
|
|
|
MAINTAINERCLEANFILES += $(ALL_MANS)
|
|
|
|
# This is a kludge to remove generated 'man/*.1' from a non-srcdir build.
|
|
# Without this, "make distcheck" might fail.
|
|
distclean-local:
|
|
test x$(srcdir) = x$(builddir) || rm -f $(ALL_MANS)
|
|
|
|
# Dependencies common to all man pages. Updated below.
|
|
mandeps =
|
|
|
|
# Depend on this to get version number changes.
|
|
mandeps += .version
|
|
|
|
# This is required so that changes to e.g., emit_ancillary_info
|
|
# provoke regeneration of all the manpages.
|
|
mandeps += $(top_srcdir)/src/system.h
|
|
|
|
$(ALL_MANS): $(mandeps)
|
|
|
|
if SINGLE_BINARY
|
|
if SINGLE_BINARY_HARD
|
|
mandeps += src/coreutils_hardlinks
|
|
else
|
|
mandeps += src/coreutils$(EXEEXT)
|
|
endif
|
|
else
|
|
# Most prog.1 man pages depend on src/prog. List the exceptions:
|
|
man/install.1: src/ginstall$(EXEEXT)
|
|
man/test.1: src/[$(EXEEXT)
|
|
|
|
man/arch.1: src/arch$(EXEEXT)
|
|
man/b2sum.1: src/b2sum$(EXEEXT)
|
|
man/base32.1: src/base32$(EXEEXT)
|
|
man/base64.1: src/base64$(EXEEXT)
|
|
man/basename.1: src/basename$(EXEEXT)
|
|
man/basenc.1: src/basenc$(EXEEXT)
|
|
man/cat.1: src/cat$(EXEEXT)
|
|
man/chcon.1: src/chcon$(EXEEXT)
|
|
man/chgrp.1: src/chgrp$(EXEEXT)
|
|
man/chmod.1: src/chmod$(EXEEXT)
|
|
man/chown.1: src/chown$(EXEEXT)
|
|
man/chroot.1: src/chroot$(EXEEXT)
|
|
man/cksum.1: src/cksum$(EXEEXT)
|
|
man/comm.1: src/comm$(EXEEXT)
|
|
man/coreutils.1: src/coreutils$(EXEEXT)
|
|
man/cp.1: src/cp$(EXEEXT)
|
|
man/csplit.1: src/csplit$(EXEEXT)
|
|
man/cut.1: src/cut$(EXEEXT)
|
|
man/date.1: src/date$(EXEEXT)
|
|
man/dd.1: src/dd$(EXEEXT)
|
|
man/df.1: src/df$(EXEEXT)
|
|
man/dir.1: src/dir$(EXEEXT)
|
|
man/dircolors.1: src/dircolors$(EXEEXT)
|
|
man/dirname.1: src/dirname$(EXEEXT)
|
|
man/du.1: src/du$(EXEEXT)
|
|
man/echo.1: src/echo$(EXEEXT)
|
|
man/env.1: src/env$(EXEEXT)
|
|
man/expand.1: src/expand$(EXEEXT)
|
|
man/expr.1: src/expr$(EXEEXT)
|
|
man/factor.1: src/factor$(EXEEXT)
|
|
man/false.1: src/false$(EXEEXT)
|
|
man/fmt.1: src/fmt$(EXEEXT)
|
|
man/fold.1: src/fold$(EXEEXT)
|
|
man/groups.1: src/groups$(EXEEXT)
|
|
man/head.1: src/head$(EXEEXT)
|
|
man/hostid.1: src/hostid$(EXEEXT)
|
|
man/hostname.1: src/hostname$(EXEEXT)
|
|
man/id.1: src/id$(EXEEXT)
|
|
man/join.1: src/join$(EXEEXT)
|
|
man/kill.1: src/kill$(EXEEXT)
|
|
man/link.1: src/link$(EXEEXT)
|
|
man/ln.1: src/ln$(EXEEXT)
|
|
man/logname.1: src/logname$(EXEEXT)
|
|
man/ls.1: src/ls$(EXEEXT)
|
|
man/md5sum.1: src/md5sum$(EXEEXT)
|
|
man/mkdir.1: src/mkdir$(EXEEXT)
|
|
man/mkfifo.1: src/mkfifo$(EXEEXT)
|
|
man/mknod.1: src/mknod$(EXEEXT)
|
|
man/mktemp.1: src/mktemp$(EXEEXT)
|
|
man/mv.1: src/mv$(EXEEXT)
|
|
man/nice.1: src/nice$(EXEEXT)
|
|
man/nl.1: src/nl$(EXEEXT)
|
|
man/nohup.1: src/nohup$(EXEEXT)
|
|
man/nproc.1: src/nproc$(EXEEXT)
|
|
man/numfmt.1: src/numfmt$(EXEEXT)
|
|
man/od.1: src/od$(EXEEXT)
|
|
man/paste.1: src/paste$(EXEEXT)
|
|
man/pathchk.1: src/pathchk$(EXEEXT)
|
|
man/pinky.1: src/pinky$(EXEEXT)
|
|
man/pr.1: src/pr$(EXEEXT)
|
|
man/printenv.1: src/printenv$(EXEEXT)
|
|
man/printf.1: src/printf$(EXEEXT)
|
|
man/ptx.1: src/ptx$(EXEEXT)
|
|
man/pwd.1: src/pwd$(EXEEXT)
|
|
man/readlink.1: src/readlink$(EXEEXT)
|
|
man/realpath.1: src/realpath$(EXEEXT)
|
|
man/rm.1: src/rm$(EXEEXT)
|
|
man/rmdir.1: src/rmdir$(EXEEXT)
|
|
man/runcon.1: src/runcon$(EXEEXT)
|
|
man/seq.1: src/seq$(EXEEXT)
|
|
man/sha1sum.1: src/sha1sum$(EXEEXT)
|
|
man/sha224sum.1: src/sha224sum$(EXEEXT)
|
|
man/sha256sum.1: src/sha256sum$(EXEEXT)
|
|
man/sha384sum.1: src/sha384sum$(EXEEXT)
|
|
man/sha512sum.1: src/sha512sum$(EXEEXT)
|
|
man/shred.1: src/shred$(EXEEXT)
|
|
man/shuf.1: src/shuf$(EXEEXT)
|
|
man/sleep.1: src/sleep$(EXEEXT)
|
|
man/sort.1: src/sort$(EXEEXT)
|
|
man/split.1: src/split$(EXEEXT)
|
|
man/stat.1: src/stat$(EXEEXT)
|
|
man/stdbuf.1: src/stdbuf$(EXEEXT)
|
|
man/stty.1: src/stty$(EXEEXT)
|
|
man/sum.1: src/sum$(EXEEXT)
|
|
man/sync.1: src/sync$(EXEEXT)
|
|
man/tac.1: src/tac$(EXEEXT)
|
|
man/tail.1: src/tail$(EXEEXT)
|
|
man/tee.1: src/tee$(EXEEXT)
|
|
man/timeout.1: src/timeout$(EXEEXT)
|
|
man/touch.1: src/touch$(EXEEXT)
|
|
man/tr.1: src/tr$(EXEEXT)
|
|
man/true.1: src/true$(EXEEXT)
|
|
man/truncate.1: src/truncate$(EXEEXT)
|
|
man/tsort.1: src/tsort$(EXEEXT)
|
|
man/tty.1: src/tty$(EXEEXT)
|
|
man/uname.1: src/uname$(EXEEXT)
|
|
man/unexpand.1: src/unexpand$(EXEEXT)
|
|
man/uniq.1: src/uniq$(EXEEXT)
|
|
man/unlink.1: src/unlink$(EXEEXT)
|
|
man/uptime.1: src/uptime$(EXEEXT)
|
|
man/users.1: src/users$(EXEEXT)
|
|
man/vdir.1: src/vdir$(EXEEXT)
|
|
man/wc.1: src/wc$(EXEEXT)
|
|
man/who.1: src/who$(EXEEXT)
|
|
man/whoami.1: src/whoami$(EXEEXT)
|
|
man/yes.1: src/yes$(EXEEXT)
|
|
endif
|
|
|
|
.x.1:
|
|
$(AM_V_GEN)name=`echo $@ | sed 's|.*/||; 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'; argv=$$name;; \
|
|
test) prog='['; argv='[';; \
|
|
*) prog=$$name; argv=$$prog;; \
|
|
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_P) $$t \
|
|
&& (cd $$t && $(LN_S) '$(abs_top_builddir)/src/'$$prog$(EXEEXT) \
|
|
$$argv$(EXEEXT)) \
|
|
&& : $${SOURCE_DATE_EPOCH=`date -r $(srcdir)/.tarball-version +%s \
|
|
2>/dev/null || :`} \
|
|
&& : $${TZ=UTC0} && export TZ \
|
|
&& export SOURCE_DATE_EPOCH && $(run_help2man) \
|
|
--source='$(PACKAGE_STRING)' \
|
|
--include=$(srcdir)/man/$$name.x \
|
|
--output=$$t/$$name.1 \
|
|
--info-page='\(aq(coreutils) '$$name' invocation\(aq' \
|
|
$$t/$$argv$(EXEEXT) \
|
|
&& sed \
|
|
-e 's|$*\.td/||g' \
|
|
-e '/For complete documentation/d' \
|
|
$$t/$$name.1 > $@-t \
|
|
&& rm -rf $$t \
|
|
&& chmod a-w $@-t \
|
|
&& rm -f $@ && mv $@-t $@
|