You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

143 lines
3.8 KiB

  1. # GNU Guix --- Functional package management for GNU
  2. # Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
  3. # Copyright © 2013 Andreas Enge <andreas@enge.fr>
  4. #
  5. # This file is part of GNU Guix.
  6. #
  7. # GNU Guix is free software; you can redistribute it and/or modify it
  8. # under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation; either version 3 of the License, or (at
  10. # your option) any later version.
  11. #
  12. # GNU Guix is distributed in the hope that it will be useful, but
  13. # WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  19. info_TEXINFOS = doc/guix.texi
  20. DOT_FILES = \
  21. doc/images/bootstrap-graph.dot \
  22. doc/images/coreutils-graph.dot \
  23. doc/images/coreutils-bag-graph.dot \
  24. doc/images/service-graph.dot \
  25. doc/images/dmd-graph.dot
  26. DOT_VECTOR_GRAPHICS = \
  27. $(DOT_FILES:%.dot=%.eps) \
  28. $(DOT_FILES:%.dot=%.pdf)
  29. EXTRA_DIST += \
  30. doc/contributing.texi \
  31. doc/emacs.texi \
  32. doc/fdl-1.3.texi \
  33. $(DOT_FILES) \
  34. $(DOT_VECTOR_GRAPHICS) \
  35. doc/images/coreutils-size-map.eps \
  36. doc/environment-gdb.scm \
  37. doc/package-hello.scm
  38. OS_CONFIG_EXAMPLES_TEXI = \
  39. doc/os-config-bare-bones.texi \
  40. doc/os-config-desktop.texi
  41. # Bundle this file so that makeinfo finds it in out-of-source-tree builds.
  42. BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI)
  43. EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI)
  44. MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI)
  45. doc/os-config-%.texi: gnu/system/examples/%.tmpl
  46. $(MKDIR_P) "`dirname "$@"`"
  47. cp "$<" "$@"
  48. infoimagedir = $(infodir)/images
  49. dist_infoimage_DATA = \
  50. $(DOT_FILES:%.dot=%.png) \
  51. doc/images/coreutils-size-map.png
  52. # Try hard to obtain an image size and aspect that's reasonable for inclusion
  53. # in an Info or PDF document.
  54. DOT_OPTIONS = \
  55. -Gratio=.9 -Gnodesep=.005 -Granksep=.00005 \
  56. -Nfontsize=9 -Nheight=.1 -Nwidth=.1
  57. .dot.png:
  58. $(DOT) -Tpng $(DOT_OPTIONS) < "$<" > "$@.tmp"
  59. mv "$@.tmp" "$@"
  60. .dot.pdf:
  61. $(DOT) -Tpdf $(DOT_OPTIONS) < "$<" > "$@.tmp"
  62. mv "$@.tmp" "$@"
  63. .dot.eps:
  64. $(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$@.tmp"
  65. mv "$@.tmp" "$@"
  66. .png.eps:
  67. convert "$<" "$@-tmp.eps"
  68. mv "$@-tmp.eps" "$@"
  69. # We cannot add new dependencies to `doc/guix.pdf' & co. (info "(automake)
  70. # Extending"). Using the `-local' rules is imperfect, because they may be
  71. # triggered after the main rule. Oh, well.
  72. pdf-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.pdf)
  73. info-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.png)
  74. ps-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.eps) \
  75. $(top_srcdir)/doc/images/coreutils-size-map.eps
  76. dvi-local: ps-local
  77. # Manual pages.
  78. doc/guix.1: $(SUBCOMMANDS:%=guix/scripts/%.scm)
  79. -LANGUAGE= $(top_builddir)/pre-inst-env \
  80. $(HELP2MAN) --output="$@" guix
  81. # Note: Do not depend on 'guix-daemon' since that would trigger a rebuild even
  82. # for people building from a tarball.
  83. doc/guix-daemon.1: nix/nix-daemon/guix-daemon.cc
  84. -LANGUAGE= $(top_builddir)/pre-inst-env \
  85. $(HELP2MAN) --output="$@" guix-daemon
  86. define subcommand-manual-target
  87. doc/guix-$(1).1: guix/scripts/$(1).scm
  88. -LANGUAGE= $(top_builddir)/pre-inst-env \
  89. $(HELP2MAN) --output="$$@" "guix $(1)"
  90. endef
  91. SUBCOMMANDS := \
  92. archive \
  93. build \
  94. download \
  95. edit \
  96. environment \
  97. gc \
  98. hash \
  99. import \
  100. lint \
  101. package \
  102. publish \
  103. pull \
  104. refresh \
  105. size \
  106. system
  107. $(eval $(foreach subcommand,$(SUBCOMMANDS), \
  108. $(call subcommand-manual-target,$(subcommand))))
  109. dist_man1_MANS = \
  110. doc/guix.1 \
  111. $(SUBCOMMANDS:%=doc/guix-%.1)
  112. if BUILD_DAEMON
  113. dist_man1_MANS += \
  114. doc/guix-daemon.1
  115. endif