summaryrefslogtreecommitdiff
path: root/doc.am
diff options
context:
space:
mode:
Diffstat (limited to 'doc.am')
-rw-r--r--doc.am61
1 files changed, 31 insertions, 30 deletions
diff --git a/doc.am b/doc.am
index 127029c1ca..8356ffa2dd 100644
--- a/doc.am
+++ b/doc.am
@@ -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