/contrib/groff/doc/Makefile.sub

https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 233 lines · 197 code · 36 blank · 0 comment · 0 complexity · f9f6e1b704f30be128bd027640f87989 MD5 · raw file

  1. # Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
  2. # Written by Werner Lemberg <wl@gnu.org>
  3. #
  4. # This file is part of groff.
  5. #
  6. # groff is free software; you can redistribute it and/or modify it under
  7. # the terms of the GNU General Public License as published by the Free
  8. # Software Foundation; either version 2, or (at your option) any later
  9. # version.
  10. #
  11. # groff is distributed in the hope that it will be useful, but WITHOUT ANY
  12. # WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13. # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  14. # for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License along
  17. # with groff; see the file COPYING. If not, write to the Free Software
  18. # Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
  19. # These may be overridden if cross-compiling.
  20. GROFFBIN=$(top_builddir)/src/roff/groff/groff
  21. GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|$(SH_SEP)|g'`
  22. # info files are distributed with the groff package, so makeinfo is
  23. # usually not needed (however, to build from CVS you NEED it!)
  24. # FIXME: Add autoconf test to check whether makeinfo exists.
  25. MAKEINFO=makeinfo
  26. groff_bin_dirs=\
  27. $(top_builddir)/src/roff/groff \
  28. $(top_builddir)/src/roff/troff \
  29. $(top_builddir)/src/preproc/pic \
  30. $(top_builddir)/src/preproc/eqn \
  31. $(top_builddir)/src/preproc/tbl \
  32. $(top_builddir)/src/preproc/grn \
  33. $(top_builddir)/src/preproc/refer \
  34. $(top_builddir)/src/preproc/soelim \
  35. $(top_builddir)/src/preproc/html \
  36. $(top_builddir)/src/devices/grops \
  37. $(top_builddir)/src/devices/grohtml
  38. FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
  39. TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
  40. GROFF=\
  41. GROFF_COMMAND_PREFIX=''; \
  42. export GROFF_COMMAND_PREFIX; \
  43. GROFF_BIN_PATH=$(GROFF_BIN_PATH); \
  44. export GROFF_BIN_PATH; \
  45. sed -e "s;@VERSION@;$(version)$(revision);" $< \
  46. | $(GROFFBIN) $(TFLAG) $(FFLAG) -Upet -ww
  47. DOCFILES=\
  48. meref.me \
  49. meintro.me \
  50. pic.ms
  51. PROCESSEDDOCFILES=\
  52. meref.ps \
  53. meintro.ps \
  54. pic.ps
  55. HTMLDOCFILES=\
  56. pic.html
  57. HTMLDOCFILESALL=\
  58. pic*.html
  59. HTMLDOCIMAGEFILES=\
  60. pic*
  61. EXAMPLEFILES=\
  62. webpage.ms \
  63. groff.css \
  64. grnexmpl.g \
  65. grnexmpl.me
  66. PROCESSEDEXAMPLEFILES=\
  67. webpage.ps \
  68. grnexmpl.ps
  69. HTMLEXAMPLEFILES=\
  70. webpage.html
  71. HTMLEXAMPLEIMAGEFILES=\
  72. webpage*
  73. imagedir=img
  74. htmldocimagedir=$(htmldocdir)/$(imagedir)
  75. exampleimagedir=$(exampledir)/$(imagedir)
  76. CLEANADD=\
  77. $(PROCESSEDDOCFILES) \
  78. $(PROCESSEDEXAMPLEFILES) \
  79. $(HTMLEXAMPLEFILES) \
  80. $(HTMLDOCFILESALL) \
  81. groff.aux groff.cp* groff.dvi groff.es* groff.fn* groff.html groff.ky* \
  82. groff.log groff.ma* groff.op* groff.pdf groff.pg* groff.ps groff.rq* \
  83. groff.st* groff.toc groff.tp groff.vr* \
  84. examples.stamp
  85. CLEANDIRADD=\
  86. $(imagedir)
  87. CLEANNOTSRCDIRADD=\
  88. groff.css \
  89. grnexmpl.g \
  90. groff \
  91. groff-* \
  92. gnu.eps \
  93. gnu.png
  94. .SUFFIXES: .me .ms .ps .html
  95. # For simplicity, we always call grn and eqn.
  96. .me.ps:
  97. $(GROFF) -Tps -ge -me >$@
  98. .ms.html:
  99. $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
  100. -P-D$(imagedir) -Thtml -ms >$@
  101. .ms.ps:
  102. $(GROFF) -Tps -ms -mwww >$@
  103. all: groff $(PROCESSEDDOCFILES) prepare_examples \
  104. $(PROCESSEDEXAMPLEFILES) $(make_html)
  105. html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
  106. prepare_examples: examples.stamp
  107. examples.stamp: grnexmpl.g groff.css gnu.eps
  108. test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
  109. test -f groff.css || cp $(srcdir)/groff.css .
  110. if test ! -f gnu.eps; then \
  111. if test -f $(srcdir)/gnu.eps; then \
  112. cp $(srcdir)/gnu.eps .; \
  113. elif test -f $(top_builddir)/contrib/pdfmark/gnu.eps; then \
  114. cp $(top_builddir)/contrib/pdfmark/gnu.eps .; \
  115. fi; \
  116. fi
  117. echo timestamp > $@
  118. groff: groff.texinfo
  119. $(MAKEINFO) --enable-encoding -I$(srcdir) $(srcdir)/groff.texinfo
  120. gnu.eps: gnu.xpm
  121. xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | \
  122. $(pnmtops_nosetpage) -noturn -rle >$@
  123. gnu.png: gnu.xpm
  124. xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
  125. pic.html: pic.ms
  126. $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
  127. -P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
  128. -Thtml -ms >$@
  129. webpage.html: webpage.ms gnu.png groff.css
  130. webpage.ps: gnu.eps
  131. grnexmpl.ps: grnexmpl.me grnexmpl.g
  132. distfiles: groff gnu.eps gnu.png
  133. install_data: groff $(DOCFILES) $(PROCESSEDDOCFILES) $(make_install_html) \
  134. $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
  135. -test -d $(infodir) || $(mkinstalldirs) $(infodir)
  136. # Prefer info files in builddir over srcdir; we test for
  137. # the existence of `groff'.
  138. d=.; \
  139. test -f "groff" || d=$(srcdir); \
  140. for f in $$d/groff `ls $$d/groff-*`; do \
  141. rm -f $(infodir)/`basename $$f`; \
  142. $(INSTALL_DATA) $$f $(infodir)/`basename $$f`; \
  143. done
  144. $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/groff
  145. -test -d $(docdir) || $(mkinstalldirs) $(docdir)
  146. for f in $(DOCFILES); do \
  147. rm -f $(docdir)/$$f; \
  148. $(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; \
  149. done
  150. for f in $(PROCESSEDDOCFILES); do \
  151. rm -f $(docdir)/$$f; \
  152. $(INSTALL_DATA) $$f $(docdir)/$$f; \
  153. done
  154. -test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
  155. for f in $(EXAMPLEFILES); do \
  156. rm -f $(exampledir)/$$f; \
  157. $(INSTALL_DATA) $(srcdir)/$$f $(exampledir)/$$f; \
  158. done
  159. for f in $(PROCESSEDEXAMPLEFILES); do \
  160. rm -f $(exampledir)/$$f; \
  161. $(INSTALL_DATA) $$f $(exampledir)/$$f; \
  162. done
  163. install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
  164. -test -d $(htmldocdir) || $(mkinstalldirs) $(htmldocdir)
  165. for f in `ls $(HTMLDOCFILESALL)`; do \
  166. rm -f $(htmldocdir)/$$f; \
  167. $(INSTALL_DATA) $$f $(htmldocdir)/$$f; \
  168. done
  169. -test -d $(htmldocimagedir) || $(mkinstalldirs) $(htmldocimagedir)
  170. rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
  171. $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) $(htmldocimagedir)
  172. -test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
  173. for f in $(HTMLEXAMPLEFILES); do \
  174. rm -f $(exampledir)/$$f; \
  175. $(INSTALL_DATA) $$f $(exampledir)/$$f; \
  176. done
  177. -test -d $(exampleimagedir) || $(mkinstalldirs) $(exampleimagedir)
  178. rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
  179. $(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) $(exampleimagedir)
  180. uninstall_sub:
  181. -for f in groff `ls groff-*`; do \
  182. rm -f $(infodir)/$$f; \
  183. done
  184. $(INSTALL_INFO) --remove --info-dir=$(infodir) $(infodir)/groff
  185. -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
  186. rm -f $(docdir)/$$f; \
  187. done
  188. -for f in `ls $(HTMLDOCFILESALL)`; do \
  189. rm -f $(htmldocdir)/$$f; \
  190. done
  191. -rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
  192. -rmdir $(htmldocimagedir)
  193. -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES) $(HTMLEXAMPLEFILES); do \
  194. rm -f $(exampledir)/$$f; \
  195. done
  196. -rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
  197. -rmdir $(exampleimagedir)