2 DUMPDIR
= ~
/lfs-commands
3 RENDERTMP
= $(HOME
)/tmp
6 PDF_OUTPUT
= LFS-BOOK.pdf
7 NOCHUNKS_OUTPUT
= LFS-BOOK.html
16 lfs
: validate profile-html
17 @echo
"Generating chunked XHTML files..."
18 $(Q
)xsltproc
--nonet
-stringparam chunk.quietly
$(CHUNK_QUIET
) \
19 -stringparam rootid
"$(ROOT_ID)" -stringparam base.
dir $(BASEDIR
)/ \
20 stylesheets
/lfs-chunked.xsl
$(RENDERTMP
)/lfs-html.xml
22 @echo
"Copying CSS code and images..."
23 $(Q
)if
[ ! -e
$(BASEDIR
)/stylesheets
]; then \
24 mkdir
-p
$(BASEDIR
)/stylesheets
; \
26 $(Q
)cp stylesheets
/lfs-xsl
/*.css
$(BASEDIR
)/stylesheets
27 $(Q
)pushd
$(BASEDIR
)/; sed
-i
-e
"s@../stylesheets@stylesheets@g" *.html
; popd
29 $(Q
)if
[ ! -e
$(BASEDIR
)/images
]; then \
30 mkdir
-p
$(BASEDIR
)/images
; \
32 $(Q
)cp images
/*.png
$(BASEDIR
)/images
33 # $(Q)pushd $(BASEDIR)/; sed -i -e "s@../images@images@g" *.html; popd
35 @echo
"Running Tidy and obfuscate.sh..."
36 $(Q
)for filename in
`find $(BASEDIR) -name "*.html"`; do \
37 tidy
-config tidy.conf
$$filename; \
39 /bin
/bash obfuscate.sh
$$filename; \
40 sed
-i
-e
"s@text/html@application/xhtml+xml@g" $$filename; \
43 $(Q
)$(MAKE
) $(BASEDIR
)/wget-list
$(BASEDIR
)/md5sums
46 @echo
"Generating profiled XML for PDF..."
47 $(Q
)xsltproc
--nonet
--stringparam profile.condition pdf \
48 --output
$(RENDERTMP
)/lfs-pdf.xml stylesheets
/lfs-xsl
/profile.xsl \
49 $(RENDERTMP
)/lfs-full.xml
51 @echo
"Generating FO file..."
52 $(Q
)xsltproc
--nonet
-stringparam rootid
"$(ROOT_ID)" \
53 --output
$(RENDERTMP
)/lfs-pdf.fo stylesheets
/lfs-pdf.xsl \
54 $(RENDERTMP
)/lfs-pdf.xml
55 $(Q
)sed
-i
-e
's/span="inherit"/span="all"/' $(RENDERTMP
)/lfs-pdf.fo
56 $(Q
)bash pdf-fixups.sh
$(RENDERTMP
)/lfs-pdf.fo
58 @echo
"Generating PDF file..."
59 $(Q
)if
[ ! -e
$(BASEDIR
) ]; then \
60 mkdir
-p
$(BASEDIR
); \
62 $(Q
)fop
-q
$(RENDERTMP
)/lfs-pdf.fo
$(BASEDIR
)/$(PDF_OUTPUT
) 2>fop.log
63 @echo
"$(BASEDIR)/$(PDF_OUTPUT) created"
64 @echo
"fop.log created"
66 nochunks
: validate profile-html
67 @echo
"Generating non chunked XHTML file..."
68 $(Q
)xsltproc
--nonet
-stringparam rootid
"$(ROOT_ID)" \
69 --output
$(BASEDIR
)/$(NOCHUNKS_OUTPUT
) \
70 stylesheets
/lfs-nochunks.xsl
$(RENDERTMP
)/lfs-html.xml
72 @echo
"Running Tidy..."
73 $(Q
)tidy
-config tidy.conf
$(BASEDIR
)/$(NOCHUNKS_OUTPUT
) || true
74 @echo
"Running obfuscate.sh..."
75 $(Q
)bash obfuscate.sh
$(BASEDIR
)/$(NOCHUNKS_OUTPUT
)
76 $(Q
)sed
-i
-e
"s@text/html@application/xhtml+xml@g" $(BASEDIR
)/$(NOCHUNKS_OUTPUT
)
77 $(Q
)sed
-i
-e
"s@../wget-list@wget-list@" $(BASEDIR
)/$(NOCHUNKS_OUTPUT
)
78 $(Q
)sed
-i
-e
"s@../md5sums@md5sums@" $(BASEDIR
)/$(NOCHUNKS_OUTPUT
)
79 $(Q
)$(MAKE
) $(BASEDIR
)/wget-list
$(BASEDIR
)/md5sums
82 @echo
"Creating and cleaning $(RENDERTMP)"
83 $(Q
)[ -d
$(RENDERTMP
) ] || mkdir
-p
$(RENDERTMP
)
84 $(Q
)rm -f
$(RENDERTMP
)/lfs-
{full
,html
,pdf
}.xml
85 $(Q
)rm -f
$(RENDERTMP
)/lfs-pdf.fo
88 @echo
"Processing bootscripts..."
89 $(Q
)bash process-scripts.sh
90 @echo
"Validating the book..."
91 $(Q
)xmllint
--nonet
--noent
--xinclude
--postvalid \
92 -o
$(RENDERTMP
)/lfs-full.xml index.xml
93 $(Q
)rm -f appendices
/*.script
94 $(Q
).
/aux-file-data.sh
$(RENDERTMP
)/lfs-full.xml
95 @echo
"Validation complete."
97 profile-html
: validate
98 @echo
"Generating profiled XML for XHTML..."
99 $(Q
)xsltproc
--nonet
--stringparam profile.condition html \
100 --output
$(RENDERTMP
)/lfs-html.xml stylesheets
/lfs-xsl
/profile.xsl \
101 $(RENDERTMP
)/lfs-full.xml
103 wget-list
: $(BASEDIR
)/wget-list
104 $(BASEDIR
)/wget-list
: stylesheets
/wget-list.xsl chapter03
/chapter03.xml packages.ent patches.ent
105 @echo
"Generating wget list..."
106 $(Q
)mkdir
-p
$(BASEDIR
)
107 $(Q
)xsltproc
--xinclude
--nonet
--output
$(BASEDIR
)/wget-list \
108 stylesheets
/wget-list.xsl chapter03
/chapter03.xml
110 md5sums
: $(BASEDIR
)/md5sums
111 $(BASEDIR
)/md5sums
: stylesheets
/wget-list.xsl chapter03
/chapter03.xml packages.ent patches.ent
112 @echo
"Generating md5sum file..."
113 $(Q
)mkdir
-p
$(BASEDIR
)
114 $(Q
)xsltproc
--xinclude
--nonet
--output
$(BASEDIR
)/md5sums \
115 stylesheets
/md5sum.xsl chapter03
/chapter03.xml
117 "s/BOOTSCRIPTS-MD5SUM/$(shell md5sum lfs-bootscripts*.tar.bz2 | cut -d' ' -f1)/" \
120 dump-commands
: validate
121 @echo
"Dumping book commands..."
122 $(Q
)xsltproc
--output
$(DUMPDIR
)/ \
123 stylesheets
/dump-commands.xsl
$(RENDERTMP
)/lfs-full.xml
126 all: lfs nochunks pdf dump-commands
128 .PHONY
: all dump-commands lfs nochunks pdf profile-html tmpdir validate