| 1 |
|
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 |
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 |
|
|---|
| 19 |
|
|---|
| 20 |
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 |
|
|---|
| 30 |
|
|---|
| 31 |
|
|---|
| 32 |
|
|---|
| 33 |
.SUFFIXES: .html .xml .pdf .tex .fo .txt |
|---|
| 34 |
|
|---|
| 35 |
|
|---|
| 36 |
DOCBOOK_XSL_VERSION?= 1.70.1 |
|---|
| 37 |
XALAN_VERSION?= 2_7_0 |
|---|
| 38 |
SAXON_VERSION?= 6.5.5 |
|---|
| 39 |
FOP_VERSION?= 0.20.5 |
|---|
| 40 |
BATIK_VERSION?= 1.5.1 |
|---|
| 41 |
|
|---|
| 42 |
ifeq ($(FOP_VERSION), 0.20.5) |
|---|
| 43 |
FOP_SCRIPT= fop.sh |
|---|
| 44 |
else |
|---|
| 45 |
FOP_SCRIPT= fop |
|---|
| 46 |
endif |
|---|
| 47 |
|
|---|
| 48 |
|
|---|
| 49 |
DOCBOOK_ROOT?= /home/vr/Juggler/docbook |
|---|
| 50 |
BATIK_ROOT?= $(DOCBOOK_ROOT)/batik-$(BATIK_VERSION) |
|---|
| 51 |
SGML_ROOT?= /usr/share/sgml/docbook |
|---|
| 52 |
TEX_DIR?= $(DOCBOOK_ROOT)/TeX |
|---|
| 53 |
TEX_BINDIR?= $(TEX_DIR)/bin/i386-linux |
|---|
| 54 |
|
|---|
| 55 |
|
|---|
| 56 |
DVIPDF?= dvipdf |
|---|
| 57 |
DVIPS?= dvips |
|---|
| 58 |
FOP?= sh $(DOCBOOK_ROOT)/fop-$(FOP_VERSION)/$(FOP_SCRIPT) |
|---|
| 59 |
HTML2TXT?= html2text |
|---|
| 60 |
HTML2TXTOPTS?= -ascii -nobs -style pretty -width 76 -rcfile html2text.rc |
|---|
| 61 |
HTML2TXTFILE?= file:$< |
|---|
| 62 |
JADE?= openjade -V tex-backend |
|---|
| 63 |
JADEPROC?= $(DOCBOOK_ROOT)/jadeproc.pl |
|---|
| 64 |
JADETEX?= $(TEX_BINDIR)/jadetex |
|---|
| 65 |
PDFJADETEX?= $(TEX_BINDIR)/pdfjadetex |
|---|
| 66 |
PDFLATEX?= $(TEX_BINDIR)/pdflatex |
|---|
| 67 |
PDFTEX?= $(TEX_BINDIR)/pdftex |
|---|
| 68 |
PDFXMLTEX?= $(TEX_BINDIR)/pdfxmltex |
|---|
| 69 |
RASTERIZER?= BATIK_ROOT="$(BATIK_ROOT)" $(BATIK_ROOT)/svgrasterizer |
|---|
| 70 |
RM= rm -f |
|---|
| 71 |
SAXON_DIR?= $(DOCBOOK_ROOT)/saxon-$(SAXON_VERSION) |
|---|
| 72 |
SAXON?= $(SAXON_DIR)/saxon.sh |
|---|
| 73 |
TEX_ENV?= PATH=$(TEX_BINDIR):$(PATH) VARTEXMF=$(TEX_DIR)/texmf-var |
|---|
| 74 |
XALAN_DIR?= $(DOCBOOK_ROOT)/xalan-j_$(XALAN_VERSION) |
|---|
| 75 |
XALAN?= $(XALAN_DIR)/bin/xalan.sh |
|---|
| 76 |
XEP?= sh $(DOCBOOK_ROOT)/XEP/run.sh |
|---|
| 77 |
XSLTPROC?= /usr/bin/xsltproc |
|---|
| 78 |
|
|---|
| 79 |
FO_TOOL?= FOP |
|---|
| 80 |
XSLT_TOOL?= Xalan |
|---|
| 81 |
|
|---|
| 82 |
recursive_copy= tar --exclude .svn --exclude CVS -chvf - $(1) | tar -C $(2) -xpf - |
|---|
| 83 |
|
|---|
| 84 |
|
|---|
| 85 |
|
|---|
| 86 |
|
|---|
| 87 |
ifeq ($(FO_TOOL), FOP) |
|---|
| 88 |
ifeq ($(FOP_VERSION), 0.20.5) |
|---|
| 89 |
XALAN_FO_PARAMS= -PARAM fop.extensions "1" -PARAM alignment "start" |
|---|
| 90 |
SAXON_FO_PARAMS= fop.extensions=1 alignment="start" |
|---|
| 91 |
else |
|---|
| 92 |
XALAN_FO_PARAMS= -PARAM fop1.extensions "1" -PARAM alignment "start" |
|---|
| 93 |
SAXON_FO_PARAMS= fop1.extensions=1 alignment="start" |
|---|
| 94 |
endif |
|---|
| 95 |
endif |
|---|
| 96 |
ifeq ($(FO_TOOL), XEP) |
|---|
| 97 |
XALAN_FO_PARAMS= -PARAM xep.extensions "1" |
|---|
| 98 |
SAXON_FO_PARAMS= xep.extensions=1 |
|---|
| 99 |
endif |
|---|
| 100 |
ifeq ($(FO_TOOL), PASSIVE_TEX) |
|---|
| 101 |
XALAN_FO_PARAMS= -PARAM passivetex.extensions "1" \ |
|---|
| 102 |
-PARAM tex.math.in.alt "latex" |
|---|
| 103 |
SAXON_FO_PARAMS= passivetex.extensions=1 tex.math.in.alt=latex |
|---|
| 104 |
endif |
|---|
| 105 |
|
|---|
| 106 |
SAXON_HTML_PARAMS= html.stylesheet=base_style.css |
|---|
| 107 |
XALAN_HTML_PARAMS= -PARAM html.stylesheet "base_style.css" |
|---|
| 108 |
|
|---|
| 109 |
XALAN_TXT_PARAMS= -PARAM page.margin.bottom "0in" \ |
|---|
| 110 |
-PARAM page.margin.inner "0in" \ |
|---|
| 111 |
-PARAM page.margin.outer "0in" \ |
|---|
| 112 |
-PARAM page.margin.top "0in" \ |
|---|
| 113 |
-PARAM paper.type "A5" |
|---|
| 114 |
|
|---|
| 115 |
DB_SGML_DTD?= $(DOCBOOK_ROOT)/docbook-sgml-4.1.dtd |
|---|
| 116 |
DSSSL_DIR?= $(DOCBOOK_ROOT)/docbook-dsssl-1.76 |
|---|
| 117 |
XSL_DIR= $(DOCBOOK_ROOT)/docbook-xsl-$(DOCBOOK_XSL_VERSION) |
|---|
| 118 |
|
|---|
| 119 |
HTML_XSL?= $(XSL_DIR)/html/docbook.xsl |
|---|
| 120 |
CHUNK_HTML_XSL?= $(XSL_DIR)/html/chunk.xsl |
|---|
| 121 |
FO_XSL?= $(XSL_DIR)/fo/docbook.xsl |
|---|
| 122 |
|
|---|
| 123 |
ENV= DOCBOOK_XSL=$(XSL_DIR) DOCBOOK_ROOT=$(DOCBOOK_ROOT) \ |
|---|
| 124 |
SAXON_DIR=$(SAXON_DIR) XALAN_DIR=$(XALAN_DIR) \ |
|---|
| 125 |
DOCBOOK_XSL_VERSION=$(DOCBOOK_XSL_VERSION) \ |
|---|
| 126 |
SAXON_VERSION=$(SAXON_VERSION) |
|---|
| 127 |
|
|---|
| 128 |
ifdef NEED_DB_IMAGES |
|---|
| 129 |
LINK_DEPS= images |
|---|
| 130 |
endif |
|---|
| 131 |
|
|---|
| 132 |
HTML_FILES= $(XML_FILES:.xml=.html) |
|---|
| 133 |
CHUNK_HTML_FILES= $(XML_FILES:.xml=/index.html) |
|---|
| 134 |
FO_FILES= $(XML_FILES:.xml=.fo) |
|---|
| 135 |
PDF_FILES= $(XML_FILES:.xml=.pdf) |
|---|
| 136 |
TXT_FILES= $(XML_FILES:.xml=.txt) |
|---|
| 137 |
|
|---|
| 138 |
txt: $(TXT_FILES) |
|---|
| 139 |
html: $(LINK_DEPS) $(HTML_FILES) |
|---|
| 140 |
chunk-html: $(CHUNK_HTML_FILES) |
|---|
| 141 |
pdf: $(LINK_DEPS) $(PDF_FILES) |
|---|
| 142 |
|
|---|
| 143 |
|
|---|
| 144 |
|
|---|
| 145 |
|
|---|
| 146 |
|
|---|
| 147 |
images: |
|---|
| 148 |
-rm -f ./images |
|---|
| 149 |
ln -s $(XSL_DIR)/images ./ |
|---|
| 150 |
|
|---|
| 151 |
install-txt: $(TXT_FILES) |
|---|
| 152 |
ifndef prefix |
|---|
| 153 |
$(error "No prefix set!") |
|---|
| 154 |
else |
|---|
| 155 |
if [ ! -d "$(prefix)" ]; then mkdir -p $(prefix); fi |
|---|
| 156 |
cp $(TXT_FILES) $(prefix)/ |
|---|
| 157 |
endif |
|---|
| 158 |
|
|---|
| 159 |
install-html: $(LINK_DEPS) $(HTML_FILES) |
|---|
| 160 |
ifndef prefix |
|---|
| 161 |
$(error "No prefix set!") |
|---|
| 162 |
else |
|---|
| 163 |
if [ ! -d "$(prefix)" ]; then mkdir -p $(prefix); fi |
|---|
| 164 |
cp $(HTML_FILES) $(prefix)/ |
|---|
| 165 |
ifdef INSTALL_FILES |
|---|
| 166 |
cp $(INSTALL_FILES) $(prefix)/ |
|---|
| 167 |
endif |
|---|
| 168 |
ifdef INSTALL_DIRS |
|---|
| 169 |
$(call recursive_copy, $(INSTALL_DIRS), $(prefix)) |
|---|
| 170 |
endif |
|---|
| 171 |
ifdef NEED_DB_IMAGES |
|---|
| 172 |
$(call recursive_copy, images, $(prefix)) |
|---|
| 173 |
endif |
|---|
| 174 |
endif |
|---|
| 175 |
|
|---|
| 176 |
install-chunk-html: |
|---|
| 177 |
ifndef prefix |
|---|
| 178 |
$(error "No prefix set!") |
|---|
| 179 |
else |
|---|
| 180 |
if [ ! -d "$(prefix)" ]; then mkdir -p $(prefix); fi |
|---|
| 181 |
for file in $(XML_FILES) ; do \ |
|---|
| 182 |
dir=`echo $$file | sed -e 's/\.xml//'` ; \ |
|---|
| 183 |
$(call recursive_copy, $$dir, $(prefix)) ; \ |
|---|
| 184 |
if [ ! -z "$(INSTALL_FILES)" ]; then \ |
|---|
| 185 |
cp $(INSTALL_FILES) $(prefix)/$$dir ; \ |
|---|
| 186 |
fi ; \ |
|---|
| 187 |
if [ ! -z "$(NEED_DB_IMAGES)" ]; then \ |
|---|
| 188 |
$(call recursive_copy, images, $(prefix)/$$dir) ; \ |
|---|
| 189 |
fi ; \ |
|---|
| 190 |
if [ ! -z "$(INSTALL_DIRS)" ]; then \ |
|---|
| 191 |
$(call recursive_copy, $(INSTALL_DIRS), $(prefix)/$$dir) ; \ |
|---|
| 192 |
fi ; \ |
|---|
| 193 |
done |
|---|
| 194 |
endif |
|---|
| 195 |
|
|---|
| 196 |
install-pdf: $(PDF_FILES) |
|---|
| 197 |
ifndef prefix |
|---|
| 198 |
$(error "No prefix set!") |
|---|
| 199 |
else |
|---|
| 200 |
cp $(PDF_FILES) $(prefix)/ |
|---|
| 201 |
endif |
|---|
| 202 |
|
|---|
| 203 |
install install-all: |
|---|
| 204 |
$(MAKE) install-html |
|---|
| 205 |
$(MAKE) install-chunk-html |
|---|
| 206 |
$(MAKE) install-pdf |
|---|
| 207 |
|
|---|
| 208 |
|
|---|
| 209 |
|
|---|
| 210 |
%.png: %.svg |
|---|
| 211 |
$(RASTERIZER) -bg 255.255.255.255 -m png $< |
|---|
| 212 |
|
|---|
| 213 |
%.jpg %.jpeg: %.svg |
|---|
| 214 |
$(RASTERIZER) -q .75 -bg 255.255.255.255 -m jpg $< |
|---|
| 215 |
|
|---|
| 216 |
|
|---|
| 217 |
|
|---|
| 218 |
%.html: %.xml |
|---|
| 219 |
ifeq ($(XSLT_TOOL), Xalan) |
|---|
| 220 |
$(ENV) $(XALAN) -in $< -xsl $(HTML_XSL) -out $@ \ |
|---|
| 221 |
$(XALAN_HTML_PARAMS) $(EXTRA_XALAN_HTML_PARAMS) |
|---|
| 222 |
else |
|---|
| 223 |
$(ENV) $(SAXON) -i $< -xsl $(HTML_XSL) -o $@ \ |
|---|
| 224 |
$(SAXON_HTML_PARAMS) $(EXTRA_SAXON_HTML_PARAMS) |
|---|
| 225 |
endif |
|---|
| 226 |
|
|---|
| 227 |
%/index.html: %.xml |
|---|
| 228 |
for file in $(XML_FILES) ; do \ |
|---|
| 229 |
dir=`echo $$file | sed -e 's/\.xml//'` ; \ |
|---|
| 230 |
if [ ! -d $$dir ] ; then mkdir $$dir ; fi ; \ |
|---|
| 231 |
if [ ! -z "$(INSTALL_FILES)" ]; then \ |
|---|
| 232 |
cp $(INSTALL_FILES) $$dir ; \ |
|---|
| 233 |
fi ; \ |
|---|
| 234 |
if [ ! -z "$(INSTALL_DIRS)" ]; then \ |
|---|
| 235 |
$(call recursive_copy, $(INSTALL_DIRS), $$dir) ; \ |
|---|
| 236 |
fi ; \ |
|---|
| 237 |
cur_dir=`pwd` ; \ |
|---|
| 238 |
cd $$dir ; \ |
|---|
| 239 |
$(ENV) $(SAXON) -i $$cur_dir/$$file -xsl $(CHUNK_HTML_XSL) \ |
|---|
| 240 |
$(SAXON_HTML_PARAMS) $(EXTRA_SAXON_HTML_PARAMS) ; \ |
|---|
| 241 |
cd $$cur_dir ; \ |
|---|
| 242 |
done |
|---|
| 243 |
|
|---|
| 244 |
%.fo: %.xml |
|---|
| 245 |
ifeq ($(XSLT_TOOL), Xalan) |
|---|
| 246 |
$(ENV) $(XALAN) -in $< -xsl $(FO_XSL) -out $@ \ |
|---|
| 247 |
$(XALAN_FO_PARAMS) $(EXTRA_XALAN_FO_PARAMS) |
|---|
| 248 |
else |
|---|
| 249 |
$(ENV) $(SAXON) -i $< -xsl $(FO_XSL) -o $@ \ |
|---|
| 250 |
$(SAXON_FO_PARAMS) $(EXTRA_SAXON_FO_PARAMS) |
|---|
| 251 |
endif |
|---|
| 252 |
|
|---|
| 253 |
%.txt: %.html |
|---|
| 254 |
$(HTML2TXT) $(HTML2TXTOPTS) $(EXTRA_HTML2TXTOPTS) $(HTML2TXTFILE) > $@ |
|---|
| 255 |
|
|---|
| 256 |
#%.txt: %.xml |
|---|
| 257 |
|
|---|
| 258 |
|
|---|
| 259 |
|
|---|
| 260 |
|
|---|
| 261 |
|
|---|
| 262 |
|
|---|
| 263 |
|
|---|
| 264 |
|
|---|
| 265 |
|
|---|
| 266 |
|
|---|
| 267 |
ifeq ($(FO_TOOL), FOP) |
|---|
| 268 |
$(PDF_FILES): $(FO_FILES) |
|---|
| 269 |
$(TXT_FILES): $(FO_FILES) |
|---|
| 270 |
|
|---|
| 271 |
%.pdf: %.fo |
|---|
| 272 |
$(FOP) $< $@ |
|---|
| 273 |
|
|---|
| 274 |
%.txt: %.fo |
|---|
| 275 |
$(FOP) -fo $< -txt $@ |
|---|
| 276 |
endif |
|---|
| 277 |
|
|---|
| 278 |
|
|---|
| 279 |
#%.pdf: %.xml |
|---|
| 280 |
|
|---|
| 281 |
|
|---|
| 282 |
|
|---|
| 283 |
|
|---|
| 284 |
|
|---|
| 285 |
|
|---|
| 286 |
|
|---|
| 287 |
ifdef USE_JADEPROC |
|---|
| 288 |
%.pdf: %.xml |
|---|
| 289 |
$(TEX_ENV) $(JADEPROC) -i $< -o $@ -d $(DB_SGML_DTD) \ |
|---|
| 290 |
-s $(DSSSL_DIR)/print/docbook.dsl |
|---|
| 291 |
|
|---|
| 292 |
else |
|---|
| 293 |
%.tex: %.xml |
|---|
| 294 |
$(JADE) -t tex -d $(DSSSL_DIR)/print/docbook.dsl $< |
|---|
| 295 |
|
|---|
| 296 |
|
|---|
| 297 |
%.pdf: %.xml |
|---|
| 298 |
-$(TEX_ENV) $(PDFJADETEX) $< |
|---|
| 299 |
endif |
|---|
| 300 |
|
|---|
| 301 |
|
|---|
| 302 |
|
|---|
| 303 |
|
|---|
| 304 |
|
|---|
| 305 |
|
|---|
| 306 |
|
|---|
| 307 |
ifeq ($(FO_TOOL), PASSIVE_TEX) |
|---|
| 308 |
$(PDF_FILES): $(FO_FILES) |
|---|
| 309 |
|
|---|
| 310 |
%.pdf: %.fo |
|---|
| 311 |
$(TEX_ENV) $(PDFXMLTEX) $*.fo |
|---|
| 312 |
|
|---|
| 313 |
|
|---|
| 314 |
|
|---|
| 315 |
#%.tex: %.xml |
|---|
| 316 |
|
|---|
| 317 |
|
|---|
| 318 |
|
|---|
| 319 |
endif |
|---|
| 320 |
|
|---|
| 321 |
|
|---|
| 322 |
|
|---|
| 323 |
|
|---|
| 324 |
|
|---|
| 325 |
|
|---|
| 326 |
|
|---|
| 327 |
ifeq ($(FO_TOOL), XEP) |
|---|
| 328 |
$(PDF_FILES): $(FO_FILES) |
|---|
| 329 |
|
|---|
| 330 |
%.pdf: %.fo |
|---|
| 331 |
$(XEP) $*.fo |
|---|
| 332 |
endif |
|---|
| 333 |
|
|---|
| 334 |
|
|---|
| 335 |
|
|---|
| 336 |
clean: |
|---|
| 337 |
$(RM) *.aux *.out *.tex *.log *.fo *~ $(CLEAN_FILES) |
|---|
| 338 |
ifneq ($(CLEAN_DIRS), ) |
|---|
| 339 |
$(RM) -r $(CLEAN_DIRS) |
|---|
| 340 |
endif |
|---|
| 341 |
|
|---|
| 342 |
clobber: |
|---|
| 343 |
@$(MAKE) clean |
|---|
| 344 |
$(RM) -f *.html *.pdf $(LINK_DEPS) $(CLOBBER_FILES) |
|---|
| 345 |
$(RM) -rf $(XML_FILES:.xml=) |
|---|
| 346 |
ifneq ($(CLOBBER_DIRS), ) |
|---|
| 347 |
$(RM) -r $(CLOBBER_DIRS) |
|---|
| 348 |
endif |
|---|