diff options
Diffstat (limited to 'doc.am')
-rw-r--r-- | doc.am | 61 |
1 files changed, 31 insertions, 30 deletions
@@ -98,45 +98,48 @@ dvi-local: ps-local ## Man pages. ## ## ----------- ## +# The man pages are generated using GNU Help2man. In makefiles rules they +# depend not on the binary, but on the source files. This usage allows a +# manual page to be generated by the maintainer and included in the +# distribution without requiring the end-user to have 'help2man' installed. +# They are built in $(srcdir) like info manuals. + sub_commands_mans = \ - doc/guix-archive.1 \ - doc/guix-build.1 \ - doc/guix-challenge.1 \ - doc/guix-download.1 \ - doc/guix-edit.1 \ - doc/guix-environment.1 \ - doc/guix-gc.1 \ - doc/guix-hash.1 \ - doc/guix-import.1 \ - doc/guix-lint.1 \ - doc/guix-package.1 \ - doc/guix-publish.1 \ - doc/guix-pull.1 \ - doc/guix-refresh.1 \ - doc/guix-size.1 \ - doc/guix-system.1 + $(srcdir)/doc/guix-archive.1 \ + $(srcdir)/doc/guix-build.1 \ + $(srcdir)/doc/guix-challenge.1 \ + $(srcdir)/doc/guix-download.1 \ + $(srcdir)/doc/guix-edit.1 \ + $(srcdir)/doc/guix-environment.1 \ + $(srcdir)/doc/guix-gc.1 \ + $(srcdir)/doc/guix-hash.1 \ + $(srcdir)/doc/guix-import.1 \ + $(srcdir)/doc/guix-lint.1 \ + $(srcdir)/doc/guix-package.1 \ + $(srcdir)/doc/guix-publish.1 \ + $(srcdir)/doc/guix-pull.1 \ + $(srcdir)/doc/guix-refresh.1 \ + $(srcdir)/doc/guix-size.1 \ + $(srcdir)/doc/guix-system.1 dist_man1_MANS = \ - doc/guix.1 \ + $(srcdir)/doc/guix.1 \ $(sub_commands_mans) -# Man pages are generated using GNU help2man. gen_man = \ LANGUAGE= $(top_builddir)/pre-inst-env $(HELP2MAN) \ $(HELP2MANFLAGS) HELP2MANFLAGS = --source=GNU --info-page=$(PACKAGE_TARNAME) -# Note: Do not depend on 'scripts/guix' since that would trigger a rebuild -# even for people building from a tarball. -doc/guix.1: $(sub_commands_mans) +$(srcdir)/doc/guix.1: scripts/guix.in $(sub_commands_mans) -$(AM_V_HELP2MAN)$(gen_man) --output="$@" `basename "$@" .1` -# Note: The dependency on $(GOBJECTS) is meant to force these docs to be made -# only after all Guile modules have been compiled. The 'case' ensures the man -# pages are only generated if the corresponding script source has been -# changed. -doc/guix-%.1: guix/scripts/%.scm $(GOBJECTS) +# The 'case' ensures the man pages are only generated if the corresponding +# source script (the first prerequisite) has been changed. The $(GOBJECTS) +# prerequisite is solely meant to force these docs to be made only after all +# Guile modules have been compiled. +$(srcdir)/doc/guix-%.1: guix/scripts/%.scm $(GOBJECTS) -@case '$?' in \ *$<*) $(AM_V_P) && set -x || echo " HELP2MAN $@"; \ $(gen_man) --output="$@" "guix $*";; \ @@ -145,11 +148,9 @@ doc/guix-%.1: guix/scripts/%.scm $(GOBJECTS) if BUILD_DAEMON -dist_man1_MANS += doc/guix-daemon.1 +dist_man1_MANS += $(srcdir)/doc/guix-daemon.1 -# Note: Do not depend on 'guix-daemon' since that would trigger a rebuild even -# for people building from a tarball. -doc/guix-daemon.1: nix/nix-daemon/guix-daemon.cc +$(srcdir)/doc/guix-daemon.1: nix/nix-daemon/guix-daemon.cc -$(AM_V_HELP2MAN)$(gen_man) --output="$@" `basename "$@" .1` endif |