Subversion Repositories HelenOS-doc

Rev

Rev 106 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 106 Rev 114
1
#
1
#
2
# Copyright (C) 2006 Sergey Bondari
2
# Copyright (C) 2006 Sergey Bondari
3
# All rights reserved.
3
# All rights reserved.
4
#
4
#
5
# Redistribution and use in source and binary forms, with or without
5
# Redistribution and use in source and binary forms, with or without
6
# modification, are permitted provided that the following conditions
6
# modification, are permitted provided that the following conditions
7
# are met:
7
# are met:
8
#
8
#
9
# - Redistributions of source code must retain the above copyright
9
# - Redistributions of source code must retain the above copyright
10
#   notice, this list of conditions and the following disclaimer.
10
#   notice, this list of conditions and the following disclaimer.
11
# - Redistributions in binary form must reproduce the above copyright
11
# - Redistributions in binary form must reproduce the above copyright
12
#   notice, this list of conditions and the following disclaimer in the
12
#   notice, this list of conditions and the following disclaimer in the
13
#   documentation and/or other materials provided with the distribution.
13
#   documentation and/or other materials provided with the distribution.
14
# - The name of the author may not be used to endorse or promote products
14
# - The name of the author may not be used to endorse or promote products
15
#   derived from this software without specific prior written permission.
15
#   derived from this software without specific prior written permission.
16
#
16
#
17
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
#
27
#
28
 
28
 
29
 
29
 
30
# Use xsltproc as XSL processor
30
# Use xsltproc as XSL processor
31
XSLT = xsltproc
31
XSLT = xsltproc
32
 
32
 
33
TOOLCHAIN_DIR = tools/
33
TOOLCHAIN_DIR = tools/
34
 
34
 
35
# DocBook XSL package
35
# DocBook XSL package
36
DOCBOOK_DIR = $(TOOLCHAIN_DIR)docbook-xsl/
36
DOCBOOK_DIR = $(TOOLCHAIN_DIR)docbook-xsl/
37
 
37
 
38
# FOP - Apache XML graphics package
38
# FOP - Apache XML graphics package
39
FOP_DIR=$(TOOLCHAIN_DIR)fop/
39
FOP_DIR=$(TOOLCHAIN_DIR)fop/
40
FOP=$(FOP_DIR)fop.sh
40
FOP=$(FOP_DIR)fop.sh
41
 
41
 
42
DBLATEX_DIR=$(TOOLCHAIN_DIR)dblatex/
42
DBLATEX_DIR=$(TOOLCHAIN_DIR)dblatex/
43
DBLATEX=$(DBLATEX_DIR)bin/dblatex
43
DBLATEX=$(DBLATEX_DIR)bin/dblatex
44
 
44
 
45
# Output folders
45
# Output folders
46
BUILD_HTML_DIR = build/html/
46
BUILD_HTML_DIR = build/html/
47
BUILD_PDF_DIR = build/pdf/
47
BUILD_PDF_DIR = build/pdf/
48
BUILD_HTML_CHUNKED_DIR = build/html.chunked/
48
BUILD_HTML_CHUNKED_DIR = build/html.chunked/
49
 
49
 
50
 
50
 
51
all: html htmlchunked pdf
51
all: html htmlchunked pdf
52
 
52
 
53
build: clean all
53
build: clean all
54
 
54
 
55
html: imgconvert
55
html: imgconvert
56
	mkdir -p $(BUILD_HTML_DIR)
56
	mkdir -p $(BUILD_HTML_DIR)
57
	mkdir -p $(BUILD_HTML_DIR)images
57
	mkdir -p $(BUILD_HTML_DIR)images
58
	cp src/images/* $(BUILD_HTML_DIR)images
58
	cp src/images/* $(BUILD_HTML_DIR)images
59
	xsltproc \
59
	xsltproc \
60
	  --stringparam section.autolabel 1 \
60
	  --stringparam section.autolabel 1 \
61
	  --stringparam section.label.includes.component.label 1 \
61
	  --stringparam section.label.includes.component.label 1 \
62
	  --stringparam section.autolabel.max.depth 2 \
62
	  --stringparam section.autolabel.max.depth 2 \
63
	  --stringparam preferred.mediaobject.role html \
63
	  --stringparam preferred.mediaobject.role html \
64
	  --output $(BUILD_HTML_DIR)index.html $(DOCBOOK_DIR)html/docbook.xsl src/index.xml
64
	  --output $(BUILD_HTML_DIR)index.html $(DOCBOOK_DIR)html/docbook.xsl src/index.xml
65
htmlchunked: imgconvert
65
htmlchunked: imgconvert
66
	mkdir -p $(BUILD_HTML_CHUNKED_DIR)
66
	mkdir -p $(BUILD_HTML_CHUNKED_DIR)
67
	mkdir -p $(BUILD_HTML_CHUNKED_DIR)images
67
	mkdir -p $(BUILD_HTML_CHUNKED_DIR)images
68
	cp src/images/* $(BUILD_HTML_CHUNKED_DIR)images
68
	cp src/images/* $(BUILD_HTML_CHUNKED_DIR)images
69
	xsltproc \
69
	xsltproc \
70
	  --stringparam section.autolabel 1 \
70
	  --stringparam section.autolabel 1 \
71
	  --stringparam section.label.includes.component.label 1 \
71
	  --stringparam section.label.includes.component.label 1 \
72
	  --stringparam chunk.section.depth 0 \
72
	  --stringparam chunk.section.depth 0 \
73
	  --stringparam section.autolabel.max.depth 2 \
73
	  --stringparam section.autolabel.max.depth 2 \
74
	  --stringparam preferred.mediaobject.role html \
74
	  --stringparam preferred.mediaobject.role html \
75
	  --output $(BUILD_HTML_CHUNKED_DIR)index.html $(DOCBOOK_DIR)html/chunk.xsl src/index.xml
75
	  --output $(BUILD_HTML_CHUNKED_DIR)index.html $(DOCBOOK_DIR)html/chunk.xsl src/index.xml
76
pdf: dblatex-pdf
76
pdf: dblatex-pdf
77
dblatex-pdf: imgconvert
77
dblatex-pdf: imgconvert
78
	mkdir -p $(BUILD_PDF_DIR)
78
	mkdir -p $(BUILD_PDF_DIR)
79
	$(DBLATEX) \
79
	$(DBLATEX) \
80
	  -t pdf -T db2latex -f pdf \
80
	  -t pdf -T db2latex -f pdf \
81
	  -p tools/extra/dblatex-extra.xsl \
81
	  -p tools/extra/dblatex-extra.xsl \
82
	  -o $(BUILD_PDF_DIR)HelenOS-doc-design.pdf \
82
	  -o $(BUILD_PDF_DIR)HelenOS-doc-design.pdf \
83
	  src/index.xml
83
	  src/index.xml
84
fo-pdf: imgconvert
84
fo-pdf: imgconvert
85
	mkdir -p $(BUILD_PDF_DIR)
85
	mkdir -p $(BUILD_PDF_DIR)
86
	mkdir -p $(BUILD_PDF_DIR)images
86
	mkdir -p $(BUILD_PDF_DIR)images
87
	cp src/images/* $(BUILD_PDF_DIR)images
87
	cp src/images/* $(BUILD_PDF_DIR)images
88
	xsltproc \
88
	xsltproc \
89
	  --stringparam paper.type A4 \
89
	  --stringparam paper.type A4 \
90
	  --stringparam fop.extensions 1 \
90
	  --stringparam fop.extensions 1 \
91
	  --stringparam bondari.jimi.compatible 1 \
91
	  --stringparam bondari.jimi.compatible 1 \
92
	  --stringparam section.autolabel 1 \
92
	  --stringparam section.autolabel 1 \
93
	  --stringparam section.label.includes.component.label 1 \
93
	  --stringparam section.label.includes.component.label 1 \
94
	  --stringparam section.autolabel.max.depth 2 \
94
	  --stringparam section.autolabel.max.depth 2 \
95
	  --stringparam body.font.master 12 \
95
	  --stringparam body.font.master 12 \
96
	  --stringparam preferred.mediaobject.role fop \
96
	  --stringparam preferred.mediaobject.role fop \
97
	  --output  $(BUILD_PDF_DIR)index.fo $(DOCBOOK_DIR)fo/docbook.xsl src/index.xml
97
	  --output $(BUILD_PDF_DIR)index.fo $(DOCBOOK_DIR)fo/docbook.xsl src/index.xml
98
 
98
 
99
	$(FOP) -q -fo $(BUILD_PDF_DIR)index.fo -pdf $(BUILD_PDF_DIR)index.pdf
99
	$(FOP) -q -fo $(BUILD_PDF_DIR)index.fo -pdf $(BUILD_PDF_DIR)index.pdf
100
imgconvert:
100
imgconvert:
101
	cd src/images; ./convert
101
	cd src/images; ./convert
102
 
102
 
103
distclean: clean
103
distclean: clean
104
 
104
 
105
clean:
105
clean:
106
	rm -rf build
106
	rm -rf build
107
	rm -rf src/images/*.pdf
107
	rm -rf src/images/*.pdf
108
	rm -rf src/images/*.eps
108
	rm -rf src/images/*.eps
109
	rm -rf src/images/*.png
109
	rm -rf src/images/*.png
110
 
110