Makefile 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. #
  2. # "$Id: Makefile 10762 2015-06-16 13:18:28Z AlbrechtS $"
  3. #
  4. # Makefile for the Fast Light Tool Kit (FLTK) documentation.
  5. #
  6. # Copyright 1998-2015 by Bill Spitzak and others.
  7. #
  8. # This library is free software. Distribution and use rights are outlined in
  9. # the file "COPYING" which should have been included with this file. If this
  10. # file is missing or damaged, see the license at:
  11. #
  12. # http://www.fltk.org/COPYING.php
  13. #
  14. # Please report all bugs and problems on the following page:
  15. #
  16. # http://www.fltk.org/str.php
  17. #
  18. # Get configuration stuff...
  19. include ../makeinclude
  20. # make sure that all docs are (re-)created independent of missing deps
  21. .PHONY: pdf html refman.pdf
  22. SRC_DOCDIR = ./src
  23. # These are the HTML "source" files...
  24. HTMLFILES = \
  25. $(SRC_DOCDIR)/index.dox \
  26. $(SRC_DOCDIR)/preface.dox \
  27. $(SRC_DOCDIR)/intro.dox \
  28. $(SRC_DOCDIR)/basics.dox \
  29. $(SRC_DOCDIR)/common.dox \
  30. $(SRC_DOCDIR)/editor.dox \
  31. $(SRC_DOCDIR)/drawing.dox \
  32. $(SRC_DOCDIR)/events.dox \
  33. $(SRC_DOCDIR)/subclassing.dox \
  34. $(SRC_DOCDIR)/opengl.dox \
  35. $(SRC_DOCDIR)/fluid.dox \
  36. $(SRC_DOCDIR)/advanced.dox \
  37. $(SRC_DOCDIR)/unicode.dox \
  38. $(SRC_DOCDIR)/enumerations.dox \
  39. $(SRC_DOCDIR)/glut.dox \
  40. $(SRC_DOCDIR)/forms.dox \
  41. $(SRC_DOCDIR)/osissues.dox \
  42. $(SRC_DOCDIR)/migration_1_1.dox \
  43. $(SRC_DOCDIR)/migration_1_3.dox \
  44. $(SRC_DOCDIR)/development.dox \
  45. $(SRC_DOCDIR)/license.dox \
  46. $(SRC_DOCDIR)/examples.dox \
  47. $(SRC_DOCDIR)/faq.dox
  48. MANPAGES = $(SRC_DOCDIR)/fltk.$(CAT3EXT) $(SRC_DOCDIR)/fltk-config.$(CAT1EXT) \
  49. $(SRC_DOCDIR)/fluid.$(CAT1EXT) $(SRC_DOCDIR)/blocks.$(CAT6EXT) \
  50. $(SRC_DOCDIR)/checkers.$(CAT6EXT) $(SRC_DOCDIR)/sudoku.$(CAT6EXT)
  51. all: $(MANPAGES)
  52. # Use `make docs' to create all docs for distribution files.
  53. # You need installed versions of Doxygen and LaTeX for this.
  54. docs: all html pdf
  55. # Synonyms for docs:
  56. alldocs: docs
  57. dist: docs
  58. clean:
  59. $(RM) Doxyfile Doxybook
  60. $(RM) fltk.pdf refman.pdf src/fltk-book.tex
  61. $(RMDIR) html latex
  62. $(RM) *~ *.bck *.bak *.log
  63. $(RM) $(MANPAGES) $(SRC_DOCDIR)/*.0
  64. depend:
  65. install: $(MANPAGES)
  66. echo "Installing documentation files in $(DESTDIR)$(docdir) ..."
  67. -$(INSTALL_DIR) $(DESTDIR)$(docdir)
  68. if test -f html/index.html ; then \
  69. for file in html/* ; do \
  70. $(INSTALL_DATA) $$file $(DESTDIR)$(docdir); \
  71. done \
  72. fi
  73. if test -f fltk.pdf ; then \
  74. echo "Installing fltk.pdf in $(DESTDIR)$(docdir) ..."; \
  75. $(INSTALL_DATA) fltk.pdf $(DESTDIR)$(docdir); \
  76. fi
  77. echo "Installing man pages in $(DESTDIR)$(mandir) ..."
  78. -$(INSTALL_DIR) $(DESTDIR)$(mandir)/cat1
  79. $(INSTALL_MAN) $(SRC_DOCDIR)/fluid.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1
  80. $(INSTALL_MAN) $(SRC_DOCDIR)/fltk-config.$(CAT1EXT) $(DESTDIR)$(mandir)/cat1
  81. -$(INSTALL_DIR) $(DESTDIR)$(mandir)/cat3
  82. $(INSTALL_MAN) $(SRC_DOCDIR)/fltk.$(CAT3EXT) $(DESTDIR)$(mandir)/cat3
  83. -$(INSTALL_DIR) $(DESTDIR)$(mandir)/man1
  84. $(INSTALL_MAN) $(SRC_DOCDIR)/fluid.man $(DESTDIR)$(mandir)/man1/fluid.1
  85. $(INSTALL_MAN) $(SRC_DOCDIR)/fltk-config.man $(DESTDIR)$(mandir)/man1/fltk-config.1
  86. -$(INSTALL_DIR) $(DESTDIR)$(mandir)/man3
  87. $(INSTALL_MAN) $(SRC_DOCDIR)/fltk.man $(DESTDIR)$(mandir)/man3/fltk.3
  88. install-linux install-osx:
  89. -$(INSTALL_DIR) $(DESTDIR)$(mandir)/cat6
  90. $(INSTALL_MAN) $(SRC_DOCDIR)/blocks.$(CAT6EXT) $(DESTDIR)$(mandir)/cat6
  91. $(INSTALL_MAN) $(SRC_DOCDIR)/checkers.$(CAT6EXT) $(DESTDIR)$(mandir)/cat6
  92. $(INSTALL_MAN) $(SRC_DOCDIR)/sudoku.$(CAT6EXT) $(DESTDIR)$(mandir)/cat6
  93. -$(INSTALL_DIR) $(DESTDIR)$(mandir)/man6
  94. $(INSTALL_MAN) $(SRC_DOCDIR)/blocks.man $(DESTDIR)$(mandir)/man6/blocks.6
  95. $(INSTALL_MAN) $(SRC_DOCDIR)/checkers.man $(DESTDIR)$(mandir)/man6/checkers.6
  96. $(INSTALL_MAN) $(SRC_DOCDIR)/sudoku.man $(DESTDIR)$(mandir)/man6/sudoku.6
  97. uninstall:
  98. $(RMDIR) $(DESTDIR)$(docdir)
  99. $(RM) $(DESTDIR)$(mandir)/cat1/fluid.$(CAT1EXT)
  100. $(RM) $(DESTDIR)$(mandir)/man1/fluid.1
  101. $(RM) $(DESTDIR)$(mandir)/cat1/fltk-config.$(CAT1EXT)
  102. $(RM) $(DESTDIR)$(mandir)/man1/fltk-config.1
  103. $(RM) $(DESTDIR)$(mandir)/cat3/fltk.$(CAT3EXT)
  104. $(RM) $(DESTDIR)$(mandir)/man3/fltk.3
  105. uninstall-linux uninstall-osx:
  106. $(RM) $(DESTDIR)$(mandir)/cat6/blocks.$(CAT6EXT)
  107. $(RM) $(DESTDIR)$(mandir)/cat6/checkers.$(CAT6EXT)
  108. $(RM) $(DESTDIR)$(mandir)/cat6/sudoku.$(CAT6EXT)
  109. $(RM) $(DESTDIR)$(mandir)/man6/blocks.6
  110. $(RM) $(DESTDIR)$(mandir)/man6/checkers.6
  111. $(RM) $(DESTDIR)$(mandir)/man6/sudoku.6
  112. # The documentation is generated using doxygen. There are two control files
  113. # for doxygen: Doxyfile for html documentation and Doxybook for pdf docs.
  114. # Both files are generated from the common source file Doxyfile.in.
  115. # Note that Doxyfile.in is shared with CMake to configure these files.
  116. Doxyfile: Doxyfile.in
  117. echo "Generating Doxyfile ..."
  118. sed -e's,@FL_VERSION@,$(FL_VERSION),' \
  119. -e's,@GENERATE_HTML@,YES,' \
  120. -e's,@GENERATE_LATEX@,NO,' \
  121. -e's, @LATEX_HEADER@,,' \
  122. -e's,@CMAKE_CURRENT_SOURCE_DIR@/,,' \
  123. -e's,@CMAKE_SOURCE_DIR@/,../,' \
  124. < $< > $@
  125. Doxybook: Doxyfile.in
  126. echo "Generating Doxybook ..."
  127. sed -e's,@FL_VERSION@,$(FL_VERSION),' \
  128. -e's,@GENERATE_HTML@,NO,' \
  129. -e's,@GENERATE_LATEX@,YES,' \
  130. -e's,@LATEX_HEADER@,src/fltk-book.tex,' \
  131. -e's,@CMAKE_CURRENT_SOURCE_DIR@/,,' \
  132. -e's,@CMAKE_SOURCE_DIR@/,../,' \
  133. < $< > $@
  134. # The HTML files are generated using doxygen, and this needs
  135. # an installed doxygen version and may take some time, so this target
  136. # is not made by default.
  137. # Use `make html' or `make docs' to create the html docs.
  138. html: $(HTMLFILES) Doxyfile
  139. echo "Generating HTML documentation..."
  140. -$(RMDIR) html
  141. -$(INSTALL_DIR) html
  142. -$(DOXYDOC)
  143. if test "x$(DOXYDOC)" = "x" ; then \
  144. echo "Sorry - doxygen not found. Please install doxygen and run configure."; \
  145. fi
  146. test -d html && cp src/tiny.png html/
  147. # The PDF documentation (fltk.pdf) is generated using doxygen and LaTeX, and
  148. # this needs installed Doxygen and LaTeX programs and may take some time, so
  149. # this target is not made by default.
  150. # Use `make pdf' or `make docs' to create the PDF docs.
  151. pdf: refman.pdf
  152. cp -f latex/refman.pdf fltk.pdf
  153. refman.pdf: $(HTMLFILES) Doxybook src/fltk-book.tex
  154. -$(RMDIR) latex
  155. echo "Generating PDF documentation ..."
  156. $(DOXYDOC) Doxybook
  157. ./make_pdf
  158. src/fltk-book.tex: src/fltk-book.tex.in
  159. DOXY_VERSION=`$(DOXYDOC) --version`; \
  160. YEAR=`date +%Y`; \
  161. sed -e"s/@YEAR@/$$YEAR/g" \
  162. -e"s/@FL_VERSION@/$(FL_VERSION)/g" \
  163. -e"s/@DOXY_VERSION@/$$DOXY_VERSION/g" \
  164. < $< > $@
  165. #
  166. # End of "$Id: Makefile 10762 2015-06-16 13:18:28Z AlbrechtS $".
  167. #