Makefile.in 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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-2015 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=../en/manual-lint.xml.in
  44. MODULE=module_specs
  45. PDF_XSL=pdf-manual.xsl
  46. XMLFILE=
  47. all: $(MANUAL_XML) html
  48. # Build the docs in HTML format
  49. html: html/index.html
  50. html/index.html: $(MANUAL_XML) $(HTML_XSL)
  51. @echo "Rendering the whole manual with $(XSLTPROC)..."
  52. $(XMLLINT) --xinclude --output _temp_manual.xml $(MANUAL_XML)
  53. $(XSLTPROC) --xinclude --output html/index.html $(HTML_XSL) _temp_manual.xml
  54. @echo "Copying manual figures (recursively)..."
  55. -[ -d figures ] && cp -r figures html/
  56. $(MANUAL_XML): ../en/$(MANUAL_XML).in
  57. sed -e 's!@DOCBOOK_DTD@!$(DOCBOOK_DTD)!' $< > $@
  58. $(HTML_XSL): ../en/$(HTML_XSL).in
  59. sed -e 's!@DOCBOOK_XSL@!$(DOCBOOK_XSL)!' $< > $@
  60. # Build the docs in PDF format
  61. pdf-print: pdf-print-volume1 pdf-print-volume2
  62. pdf-dir:
  63. @if [ ! -e pdf ]; then \
  64. mkdir pdf; \
  65. fi
  66. pdf: pdf-dir $(MANUAL_XML) $(PDF_XSL)
  67. @echo "Rendering of the PDF manual with $(FOP)..."
  68. $(XMLLINT) --xinclude --output _temp_manual.xml $(MANUAL_XML)
  69. $(XSLTPROC) --xinclude --output ZendFramework.fo $(PDF_XSL) _temp_manual.xml
  70. "$(FOP)" -fo ZendFramework.fo -pdf pdf/ZendFramework.pdf
  71. pdf-print-volume1: pdf-dir $(PDF_XSL) $(MANUAL_PRINT1_XML)
  72. @echo "Rendering volume 1 of the PDF manual with $(FOP)..."
  73. $(XMLLINT) --xinclude --output _temp_manual_1.xml $(MANUAL_PRINT1_XML)
  74. $(XSLTPROC) --xinclude --output ZendFramework.fo $(PDF_XSL) _temp_manual_1.xml
  75. "$(FOP)" -fo ZendFramework.fo -pdf pdf/ZendFrameworkVolume1.pdf
  76. pdf-print-volume2: pdf-dir $(PDF_XSL) $(MANUAL_PRINT2_XML)
  77. @echo "Rendering volume 2 of the PDF manual with $(FOP)..."
  78. $(XMLLINT) --xinclude --output _temp_manual_2.xml $(MANUAL_PRINT1_XML)
  79. $(XSLTPROC) --xinclude --output ZendFramework.fo $(PDF_XSL) _temp_manual_2.xml
  80. "$(FOP)" -fo ZendFramework.fo -pdf pdf/ZendFrameworkVolume2.pdf
  81. $(MANUAL_PRINT1_XML): ../en/$(MANUAL_PRINT1_XML).in
  82. sed -e 's!@DOCBOOK_DTD@!$(DOCBOOK_DTD)!' $< > $@
  83. $(MANUAL_PRINT2_XML): ../en/$(MANUAL_PRINT2_XML).in
  84. sed -e 's!@DOCBOOK_DTD@!$(DOCBOOK_DTD)!' $< > $@
  85. $(PDF_XSL): ../en/$(PDF_XSL).in
  86. sed -e 's!@DOCBOOK_FO_XSL@!$(DOCBOOK_FO_XSL)!' $< > $@
  87. # Cleanup
  88. check: $(MANUAL_XML)
  89. @echo "Checking the whole manual with $(XMLLINT)..."
  90. @$(XMLLINT) --xinclude --output _temp_manual.xml $(MANUAL_XML)
  91. @$(XMLLINT) --valid --noout --postvalid _temp_manual.xml \
  92. && echo "OK"
  93. check1: $(MANUAL_LINT_XML)
  94. @if [ -n "$(XMLFILE)" ] ; then \
  95. if [ -f "$(MODULE)/$(XMLFILE)" ] ; then \
  96. echo "Checking $(XMLFILE) with $(XMLLINT)..." ; \
  97. sed -e 's!@XMLFILE@!$(MODULE)/$(XMLFILE)!' -e 's!@DOCBOOK_DTD@!$(DOCBOOK_DTD)!' $(MANUAL_LINT_XML) \
  98. | $(XMLLINT) --xinclude --output _temp_$(XMLFILE) - ; \
  99. $(XMLLINT) --valid --noout --postvalid _temp_$(XMLFILE) \
  100. && echo "OK" ; \
  101. else \
  102. echo "File $(MODULE)/$(XMLFILE) not found." ; \
  103. fi ; \
  104. else \
  105. echo "Please specify a filename, e.g. 'make XMLFILE=filename.xml lint'" ; \
  106. fi
  107. clean:
  108. -rm -f html/*.html html/HTML.manifest
  109. @if [ -f html/figures ] ; then \
  110. rm -Rf html/figures ; \
  111. fi
  112. -rm -f _temp_*.xml
  113. -rm -f /*.pdf
  114. -rm -f ZendFramework.fo
  115. cleanall: clean
  116. -rm -f config.* configure
  117. -rm -rf autom4te.cache
  118. -rm -f Makefile
  119. -rm -f $(HTML_XSL) $(MANUAL_XML) $(MANUAL_PRINT1_XML) $(MANUAL_PRINT2_XML)