]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
build: fix dependency issues with man page generation
authorPádraig Brady <P@draigBrady.com>
Fri, 19 Sep 2014 15:49:26 +0000 (16:49 +0100)
committerPádraig Brady <P@draigBrady.com>
Fri, 19 Sep 2014 22:18:10 +0000 (23:18 +0100)
* .gitignore: Remove reference to no longer generated make file.
* configure.ac: Don't bother generating placeholder make file.
* man/local.mk: Hardcode the man page deps list for normal builds
to be compatible with all make implementations and configure options.
Note in SINGLE_BINARY mode, all man pages will be generated on
any change to the coreutils binary, but development will generally
not be done in this mode, so this shouldn't be an issue.

Fixes http://bugs.gnu.org/18055

.gitignore
configure.ac
man/local.mk

index 02a61e81f24df651e93098bda7ca68eb94d9123b..885d309bd0b082ad68f8312961d4a25895e77660 100644 (file)
 /m4/xsize.m4
 /maint.mk
 /man/*.1
-/man/dynamic-deps.mk
 /po/*.gmo
 /po/*.po
 /po/.gitignore
index f45b06e3a6c3d40109e3b7773485a2772aca8aa7..0744964c3be491c639db2b3f25d7c9c67dc0548d 100644 (file)
@@ -589,15 +589,6 @@ AM_GNU_GETTEXT_VERSION([0.18.1])
 # For a test of uniq: it uses the $LOCALE_FR envvar.
 gt_LOCALE_FR
 
-# If doing dynamic dependency checking, create man/dynamic-deps.mk so
-# that 'make' doesn't complain about its being absent.  Use an old
-# time stamp, so that 'make' thinks it is older than 'Makefile'.
-# Use time stamp 1, since some 'make' implementations treat 0 specially.
-# Use 'touch -t', since older 'touch' implementations don't grok -d.
-AC_CONFIG_COMMANDS([man/dynamic-deps.mk],
-  [test -n "$AMDEP_TRUE" ||
-   TZ=UTC0 touch -t 197001010000.01 man/dynamic-deps.mk])
-
 AC_CONFIG_FILES(
   Makefile
   po/Makefile.in
index f2d1357b697b19a26b1f3a6c686e7eb11c12fe84..61ecd00201014296def844e6ed4fba883e2a7dde 100644 (file)
@@ -52,33 +52,119 @@ mandeps += $(top_srcdir)/src/system.h
 
 $(ALL_MANS): $(mandeps)
 
-# Most prog.1 man pages depend on src/$prog, except when they are part of a
-# single binary, in which case they depend on src/coreutils. The exceptions
-# are handled by converting $name to $prog on the following code.
-# $(ALL_MANS) includes the $(EXTRA_MANS) so even the programs that are not
-# being installed will have the right dependency for the manpages.
-DISTCLEANFILES += man/dynamic-deps.mk
-man/dynamic-deps.mk: Makefile
-       $(AM_V_GEN)rm -f $@ $@-t
-       $(AM_V_at)for man in $(ALL_MANS); do                            \
-               name=`echo "$$man"|sed 's|.*/||; s|\.1$$||'` || exit 1; \
-               case $$name in                                          \
-                    arch) prog='uname';;                               \
-                 install) prog='ginstall';;                            \
-                    test) prog='[';;                                   \
-                       *) prog=$$name;;                                \
-               esac;                                                   \
-               case " $(single_binary_progs) " in                      \
-                       *" $$prog "*)                                   \
-                               echo $$man: src/coreutils$(EXEEXT);;    \
-                       *)                                              \
-                               echo $$man: src/$$prog$(EXEEXT);;       \
-               esac                                                    \
-       done > $@-t                                                     \
-       && mv $@-t $@
-
-# Include the generated man dependencies.
-@AMDEP_TRUE@@am__include@ man/dynamic-deps.mk
+if SINGLE_BINARY
+mandeps += src/coreutils$(EXEEXT)
+else
+# Most prog.1 man pages depend on src/prog.  List the exceptions:
+# Note that dir and vdir are exceptions only if you consider the name
+# of the .c file upon which they depend: ls.c.
+man/arch.1:      src/uname
+man/dir.1:       src/dir
+man/install.1:   src/ginstall
+man/vdir.1:      src/vdir
+
+man/base64.1:    src/base64
+man/basename.1:  src/basename
+man/cat.1:       src/cat
+man/chcon.1:     src/chcon
+man/chgrp.1:     src/chgrp
+man/chmod.1:     src/chmod
+man/chown.1:     src/chown
+man/chroot.1:    src/chroot
+man/cksum.1:     src/cksum
+man/comm.1:      src/comm
+man/coreutils.1: src/coreutils
+man/cp.1:        src/cp
+man/csplit.1:    src/csplit
+man/cut.1:       src/cut
+man/date.1:      src/date
+man/dd.1:        src/dd
+man/df.1:        src/df
+man/dircolors.1: src/dircolors
+man/dirname.1:   src/dirname
+man/du.1:        src/du
+man/echo.1:      src/echo
+man/env.1:       src/env
+man/expand.1:    src/expand
+man/expr.1:      src/expr
+man/factor.1:    src/factor
+man/false.1:     src/false
+man/fmt.1:       src/fmt
+man/fold.1:      src/fold
+man/groups.1:    src/groups
+man/head.1:      src/head
+man/hostid.1:    src/hostid
+man/hostname.1:  src/hostname
+man/id.1:        src/id
+man/join.1:      src/join
+man/kill.1:      src/kill
+man/link.1:      src/link
+man/ln.1:        src/ln
+man/logname.1:   src/logname
+man/ls.1:        src/ls
+man/md5sum.1:    src/md5sum
+man/mkdir.1:     src/mkdir
+man/mkfifo.1:    src/mkfifo
+man/mknod.1:     src/mknod
+man/mktemp.1:    src/mktemp
+man/mv.1:        src/mv
+man/nice.1:      src/nice
+man/nl.1:        src/nl
+man/nohup.1:     src/nohup
+man/nproc.1:     src/nproc
+man/numfmt.1:    src/numfmt
+man/od.1:        src/od
+man/paste.1:     src/paste
+man/pathchk.1:   src/pathchk
+man/pinky.1:     src/pinky
+man/pr.1:        src/pr
+man/printenv.1:  src/printenv
+man/printf.1:    src/printf
+man/ptx.1:       src/ptx
+man/pwd.1:       src/pwd
+man/readlink.1:  src/readlink
+man/realpath.1:  src/realpath
+man/rm.1:        src/rm
+man/rmdir.1:     src/rmdir
+man/runcon.1:    src/runcon
+man/seq.1:       src/seq
+man/sha1sum.1:   src/sha1sum
+man/sha224sum.1: src/sha224sum
+man/sha256sum.1: src/sha256sum
+man/sha384sum.1: src/sha384sum
+man/sha512sum.1: src/sha512sum
+man/shred.1:     src/shred
+man/shuf.1:      src/shuf
+man/sleep.1:     src/sleep
+man/sort.1:      src/sort
+man/split.1:     src/split
+man/stat.1:      src/stat
+man/stdbuf.1:    src/stdbuf
+man/stty.1:      src/stty
+man/sum.1:       src/sum
+man/sync.1:      src/sync
+man/tac.1:       src/tac
+man/tail.1:      src/tail
+man/tee.1:       src/tee
+man/test.1:      src/test
+man/timeout.1:   src/timeout
+man/touch.1:     src/touch
+man/tr.1:        src/tr
+man/true.1:      src/true
+man/truncate.1:  src/truncate
+man/tsort.1:     src/tsort
+man/tty.1:       src/tty
+man/uname.1:     src/uname
+man/unexpand.1:  src/unexpand
+man/uniq.1:      src/uniq
+man/unlink.1:    src/unlink
+man/uptime.1:    src/uptime
+man/users.1:     src/users
+man/wc.1:        src/wc
+man/who.1:       src/who
+man/whoami.1:    src/whoami
+man/yes.1:       src/yes
+endif
 
 .x.1:
        $(AM_V_GEN)name=`echo $@ | sed 's|.*/||; s|\.1$$||'` || exit 1; \