Makefile.in 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #
  2. # Zend Framework
  3. #
  4. # LICENSE
  5. #
  6. # This source file is subject to the new BSD license that is bundled
  7. # with this package in the file LICENSE.txt.
  8. # It is also available through the world-wide-web at this URL:
  9. # http://framework.zend.com/license/new-bsd
  10. # If you did not receive a copy of the license and are unable to
  11. # obtain it through the world-wide-web, please send an email
  12. # to license@zend.com so we can send you a copy immediately.
  13. #
  14. # @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
  15. # @license http://framework.zend.com/license/new-bsd New BSD License
  16. #
  17. #
  18. # Makefile - build Zend Framework product and documentation
  19. #
  20. # Main targets:
  21. # all - render DocBook manual in HTML.
  22. # clean - remove staged files.
  23. # check - validate DocBook manual using xmllint.
  24. # check1 - validate one DocBook XML file using xmllint.
  25. # Requires that you set the XMLFILE variable.
  26. # pdf-print - PDF version of manual, in two volumes; requires Apache FOP
  27. #
  28. # -- parameters you are likely to want to change --
  29. # XMLFILE is the name of one DocBook XML file that you want to
  30. # test with xmllint, using the 'check1' target.
  31. XSLTPROC=@XSLTPROC@
  32. XMLLINT=@XMLLINT@
  33. FOP=@FOP@
  34. ECSRC=@ECSRC@
  35. HERE=@HERE@
  36. DOCBOOK_DTD?=http://framework.zend.com/docbook/xml/4.5/docbookx.dtd
  37. DOCBOOK_XSL?=http://framework.zend.com/docbook-xsl/htmlhelp/htmlhelp.xsl
  38. DOCBOOK_FO_XSL?=http://framework.zend.com/docbook-xsl/fo/docbook.xsl
  39. HTML_XSL=html.xsl
  40. MANUAL_XML=manual.xml
  41. MANUAL_PRINT1_XML=manual-print1.xml
  42. MANUAL_PRINT2_XML=manual-print2.xml
  43. MANUAL_LINT_XML=manual-lint.xml.in
  44. MODULE=module_specs
  45. XMLFILE=
  46. all: $(MANUAL_XML) html
  47. # Build the docs in HTML format
  48. html: html/index.html
  49. html/index.html: $(MANUAL_XML) $(HTML_XSL)
  50. @echo "Rendering the whole manual with $(XSLTPROC)..."
  51. $(XSLTPROC) --xinclude --output html/index.html $(HTML_XSL) $(MANUAL_XML)
  52. @echo "Copying manual figures (recursively)..."
  53. -[ -d figures ] && cp -r figures html/figures
  54. $(MANUAL_XML): $(MANUAL_XML).in
  55. sed -e 's!@DOCBOOK_DTD@!$(DOCBOOK_DTD)!' $< > $@
  56. $(HTML_XSL): $(HTML_XSL).in
  57. sed -e 's!@DOCBOOK_XSL@!$(DOCBOOK_XSL)!' $< > $@
  58. # Build the docs in PDF format
  59. pdf-print: pdf-print-volume1 pdf-print-volume2
  60. pdf-dir:
  61. @if [ ! -e pdf ]; then \
  62. mkdir pdf; \
  63. fi
  64. pdf-print-volume1: pdf-dir $(MANUAL_PRINT1_XML)
  65. @echo "Rendering volume 1 of the PDF manual with $(FOP)..."
  66. $(XSLTPROC) --xinclude --output ZendFramework.fo $(DOCBOOK_FO_XSL) $(MANUAL_PRINT1_XML)
  67. "$(FOP)" -fo ZendFramework.fo -pdf pdf/ZendFrameworkVolume1.pdf
  68. pdf-print-volume2: pdf-dir $(MANUAL_PRINT2_XML)
  69. @echo "Rendering volume 2 of the PDF manual with $(FOP)..."
  70. $(XSLTPROC) --xinclude --output ZendFramework.fo $(DOCBOOK_FO_XSL) $(MANUAL_PRINT2_XML)
  71. "$(FOP)" -fo ZendFramework.fo -pdf pdf/ZendFrameworkVolume2.pdf
  72. $(MANUAL_PRINT1_XML): $(MANUAL_PRINT1_XML).in
  73. sed -e 's!@DOCBOOK_DTD@!$(DOCBOOK_DTD)!' $< > $@
  74. $(MANUAL_PRINT2_XML): $(MANUAL_PRINT2_XML).in
  75. sed -e 's!@DOCBOOK_DTD@!$(DOCBOOK_DTD)!' $< > $@
  76. # Cleanup
  77. check: $(MANUAL_XML)
  78. @echo "Checking the whole manual with $(XMLLINT)..."
  79. @$(XMLLINT) --xinclude --output _temp_manual.xml $(MANUAL_XML)
  80. @$(XMLLINT) --valid --noout --postvalid _temp_manual.xml \
  81. && echo "OK"
  82. check1: $(MANUAL_LINT_XML)
  83. @if [ -n "$(XMLFILE)" ] ; then \
  84. if [ -f "$(MODULE)/$(XMLFILE)" ] ; then \
  85. echo "Checking $(XMLFILE) with $(XMLLINT)..." ; \
  86. sed -e 's!@XMLFILE@!$(MODULE)/$(XMLFILE)!' -e 's!@DOCBOOK_DTD@!$(DOCBOOK_DTD)!' $(MANUAL_LINT_XML) \
  87. | $(XMLLINT) --xinclude --output _temp_$(XMLFILE) - ; \
  88. $(XMLLINT) --valid --noout --postvalid _temp_$(XMLFILE) \
  89. && echo "OK" ; \
  90. else \
  91. echo "File $(MODULE)/$(XMLFILE) not found." ; \
  92. fi ; \
  93. else \
  94. echo "Please specify a filename, e.g. 'make XMLFILE=filename.xml lint'" ; \
  95. fi
  96. clean:
  97. -rm -f html/*.html html/HTML.manifest
  98. @if [ -f html/figures ] ; then \
  99. rm -Rf html/figures ; \
  100. fi
  101. -rm -f _temp_*.xml
  102. -rm -f ./*.pdf
  103. -rm -f ZendFramework.fo
  104. cleanall: clean
  105. -rm -f config.* configure
  106. -rm -rf autom4te.cache
  107. -rm -f Makefile
  108. -rm -f $(HTML_XSL) $(MANUAL_XML) $(MANUAL_PRINT1_XML) $(MANUAL_PRINT2_XML)