Modifying the return value of cfg_set* functions, in order to make
[sip-router] / Makefile.doc
1 #\r
2 # $Id$\r
3 #\r
4 \r
5 #\r
6 # The name of the index file (the one which will be built by default\r
7 # without specifying a target\r
8 #\r
9 DOCUMENTS ?= index\r
10 \r
11 #\r
12 # The root of the document tree, this is used to determine the directory\r
13 # of auxiliary files. The variable should be overwritten by per-directory\r
14 # Makefiles\r
15 #\r
16 ROOT_DIR ?= ../../..\r
17 \r
18 #\r
19 # Output directory where files produced by XSL stylesheets should be stored,\r
20 # by default we output to the same directory, documents that are chunked may\r
21 # choose to override this to write all chunks in a subdirectory instead\r
22 #\r
23 OUTPUT_DIR ?= .\r
24 \r
25 #\r
26 # Stylesheet used to generate dependencies from XML files\r
27 #\r
28 DEP_XSL ?= $(ROOT_DIR)/doc/stylesheets/dep.xsl\r
29 \r
30 #\r
31 # Default stylesheet used to generate XHTML\r
32 #\r
33 XHTML_XSL ?= $(ROOT_DIR)/doc/stylesheets/xhtml.xsl\r
34 \r
35 #\r
36 # Default stylesheet used to generate Drupal HTML without html headers\r
37 #\r
38 DRUPAL_XSL ?= $(ROOT_DIR)/doc/stylesheets/drupal.xsl\r
39 \r
40 #\r
41 # Default stylesheet used to generate HTML\r
42 #\r
43 HTML_XSL ?= $(ROOT_DIR)/doc/stylesheets/html.chunked.xsl\r
44 \r
45 #\r
46 # Stylesheet used to generate plain text documents,\r
47 # this is usually the one used for xhtml\r
48 #\r
49 TXT_XSL ?= $(ROOT_DIR)/doc/stylesheets/txt.xsl\r
50 \r
51 #\r
52 # Stylesheet used to generate FO (Formatted Objects)\r
53 # This is used by PDF generators\r
54 #\r
55 FO_XSL ?= $(ROOT_DIR)/doc/stylesheets/fo.xsl\r
56 \r
57 #\r
58 # Disable document validation by default\r
59\r
60 VALIDATE ?= 0\r
61 \r
62 CATALOG=$(ROOT_DIR)/doc/catalog.xml\r
63 \r
64 LYNX     ?= lynx\r
65 DIA      ?= dia\r
66 XSLTPROC ?= xsltproc\r
67 XMLLINT ?= /usr/bin/xmllint\r
68 XEP     ?= /usr/bin/xep\r
69 \r
70 LYNX_FLAGS     ?= -nolist\r
71 DIA_ARGS       ?=\r
72 XSLTPROC_FLAGS ?=\r
73 XMLLINT_FLAGS ?= --xinclude --postvalid --noout\r
74 XEP_FLAGS ?= \r
75 \r
76 ifeq ($(VALIDATE), 0)\r
77         override XSLTPROC_FLAGS := $(XSLTPROC_FLAGS) --novalid\r
78 endif\r
79 \r
80 alldep = Makefile $(ROOT_DIR)/Makefile.doc $(DEP_XSL) $(EXTRA_DEPS)\r
81 \r
82 all: xhtml\r
83 \r
84 xml_files = $(addsuffix .xml, $(DOCUMENTS))\r
85 dep_files = $(addsuffix .d, $(DOCUMENTS))\r
86 xhtml_files = $(addsuffix .xhtml, $(DOCUMENTS))\r
87 html_files = $(addsuffix .html, $(DOCUMENTS))\r
88 txt_files = $(addsuffix .txt, $(DOCUMENTS))\r
89 pdf_files = $(addsuffix .pdf, $(DOCUMENTS))\r
90 \r
91 xhtml: $(xhtml_files)\r
92 html: $(html_files)\r
93 txt: $(txt_files)\r
94 pdf: $(pdf_files)\r
95 drupal: override HTML_XSL := $(DRUPAL_XSL)\r
96 drupal: $(html_files)\r
97 \r
98 \r
99 %.xhtml: %.xml %.d $(alldep) $(XHTML_XSL)\r
100         XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
101         --xinclude \\r
102         --stringparam base.dir "$(OUTPUT_DIR)/" \\r
103         --stringparam root.filename "$(basename $<)" \\r
104         --stringparam html.ext ".xhtml" \\r
105         $(XHTML_XSL) $<\r
106 \r
107 %.html: %.xml %.d $(alldep) $(HTML_XSL)\r
108         XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
109         --xinclude \\r
110         --stringparam base.dir "$(OUTPUT_DIR)/" \\r
111         --stringparam root.filename "$(basename $<)" \\r
112         --stringparam html.ext ".html" \\r
113         --stringparam html.stylesheet ser.css \\r
114         $(HTML_XSL) $<\r
115 \r
116 %.fo: %.xml $(alldep) $(FO_XSL)\r
117         XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
118         --xinclude \\r
119         -o $@ $(FO_XSL) $<\r
120 \r
121 %.pdf: %.fo %.d $(alldep)\r
122         $(XEP) $(XEP_FLAGS) -fo $< -pdf $@\r
123 \r
124 %.txt: %.xml %.d $(alldep)\r
125         XML_CATALOG_FILES=$(CATALOG) $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
126         --xinclude \\r
127         $(TXT_XSL) $< | $(LYNX) $(LYNX_FLAGS) -stdin -dump > $@\r
128 \r
129 %.png: %.dia $(alldep)\r
130         $(DIA) $(DIA_ARGS) -t png -e $@ $<\r
131 \r
132 %.d: %.xml $(alldep) \r
133         $(XSLTPROC) $(XSLTPROC_FLAGS) \\r
134         --nonet \\r
135         --novalid \\r
136         --stringparam output "$@" \\r
137         $(DEP_XSL) $< \r
138 \r
139 .PHONY: check\r
140 check: $(xml_files)\r
141         XML_CATALOG_FILES=$(CATALOG) $(XMLLINT) $(XMLLINT_FLAGS) $<\r
142 \r
143 .PHONY: clean\r
144 clean:\r
145         rm -f $(txt_files)\r
146         rm -f $(xhtml_files)\r
147         rm -f $(pdf_files)\r
148         rm -f $(html_files)\r
149 \r
150 .PHONY: proper realclean distclean\r
151 proper realclean distclean: clean\r
152         rm -f $(dep_files) *~\r
153 \r
154 \r
155 ifeq (,$(MAKECMDGOALS))\r
156 include $(dep_files) \r
157 endif\r
158 ifneq (,$(filter-out clean proper realclean distclean check, $(MAKECMDGOALS)))\r
159 include $(dep_files)\r
160 endif\r
161 \r