1 | # Makefile for BLFS Book generation.
|
---|
2 | # By Tushar Teredesai <tushar@linuxfromscratch.org>
|
---|
3 | # 2004-01-31
|
---|
4 | # $LastChangedBy$
|
---|
5 | # $Date$
|
---|
6 | # Adjust these to suit your installation
|
---|
7 | OUTPUTDIR = $(HOME)/public_html/blfs-book
|
---|
8 | DUMPDIR= $(HOME)/blfs-commands
|
---|
9 | INSTALL = install
|
---|
10 | JADE = openjade
|
---|
11 | DOCBOOK = /usr/share/sgml/docbook/dsssl-stylesheets-1.78
|
---|
12 | BASEDIR= $(HOME)/public_html/blfs-book-xsl
|
---|
13 | TEXBASEDIR= $(HOME)/public_html/blfs-book-tex
|
---|
14 | NOCHUNKS_OUTPUT=BLFS-BOOK.html
|
---|
15 | SRCDIR = $(PWD)
|
---|
16 |
|
---|
17 | all: blfs
|
---|
18 |
|
---|
19 | blfs:
|
---|
20 | @if [ -z $(BASEDIR) ]; then \
|
---|
21 | echo "Envar BASEDIR is not set!" ; \
|
---|
22 | exit 1 ; \
|
---|
23 | fi
|
---|
24 | @echo "Generating XHTML Version of BLFS Book with xsltproc..."
|
---|
25 | @echo " BASEDIR = $(BASEDIR)"
|
---|
26 | @$(INSTALL) -d $(BASEDIR)
|
---|
27 | xsltproc --xinclude --nonet -stringparam base.dir $(BASEDIR)/ \
|
---|
28 | stylesheets/blfs-chunked.xsl index.xml
|
---|
29 | if [ ! -e $(BASEDIR)/stylesheets ]; then \
|
---|
30 | mkdir -p $(BASEDIR)/stylesheets; \
|
---|
31 | fi;
|
---|
32 | cp stylesheets/*.css $(BASEDIR)/stylesheets
|
---|
33 | if [ ! -e $(BASEDIR)/images ]; then \
|
---|
34 | mkdir -p $(BASEDIR)/images; \
|
---|
35 | fi;
|
---|
36 | cp images/*.png $(BASEDIR)/images
|
---|
37 | cd $(BASEDIR); sed -i -e "s@../stylesheets@stylesheets@g" *.html
|
---|
38 | cd $(BASEDIR); sed -i -e "s@../images@images@g" *.html
|
---|
39 |
|
---|
40 | for filename in `find $(BASEDIR) -name "*.html"`; do \
|
---|
41 | tidy -config tidy.conf $$filename; \
|
---|
42 | true; \
|
---|
43 | sh obfuscate.sh $$filename; \
|
---|
44 | sed -i -e "s@text/html@application/xhtml+xml@g" $$filename; \
|
---|
45 | done;
|
---|
46 |
|
---|
47 |
|
---|
48 | nochunks:
|
---|
49 | @echo "Generating nochunks version of BLFS..."
|
---|
50 | xsltproc --xinclude --nonet -stringparam profile.condition html \
|
---|
51 | --output $(BASEDIR)/$(NOCHUNKS_OUTPUT) \
|
---|
52 | stylesheets/blfs-nochunks.xsl index.xml
|
---|
53 |
|
---|
54 | tidy -config tidy.conf $(BASEDIR)/$(NOCHUNKS_OUTPUT) || true
|
---|
55 |
|
---|
56 | sh obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
---|
57 |
|
---|
58 | sed -i -e "s@text/html@application/xhtml+xml@g" \
|
---|
59 | $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
---|
60 |
|
---|
61 | pdf:
|
---|
62 | xsltproc --xinclude --nonet --stringparam profile.condition pdf \
|
---|
63 | --output blfs-pdf.xml stylesheets/blfs-profile.xsl index.xml
|
---|
64 | xsltproc --xinclude --nonet --output blfs.fo \
|
---|
65 | stylesheets/blfs-pdf.xsl blfs-pdf.xml
|
---|
66 | sed -i -e "s/inherit/all/" blfs.fo
|
---|
67 | fop.sh blfs.fo blfs.pdf
|
---|
68 | $(INSTALL) -d $(BASEDIR)/pdf
|
---|
69 | rm blfs.fo
|
---|
70 | mv blfs.pdf $(BASEDIR)/pdf
|
---|
71 |
|
---|
72 | tex:
|
---|
73 | @if [ -z $(TEXBASEDIR) ]; then \
|
---|
74 | echo "Envar TEXBASEDIR is not set!" ; \
|
---|
75 | exit 1 ; \
|
---|
76 | fi
|
---|
77 | @echo "Generating TeX Version of BLFS Book with xsltproc..."
|
---|
78 | @echo " TEXBASEDIR = $(TEXBASEDIR)"
|
---|
79 | @$(INSTALL) -d $(TEXBASEDIR)
|
---|
80 | # Using profiles in book source to exclude parts of the book from TeX
|
---|
81 | # i.e., Changelog
|
---|
82 | xsltproc --nonet --output $(TEXBASEDIR)/index.xml \
|
---|
83 | --stringparam "profile.role" "book" \
|
---|
84 | http://docbook.sourceforge.net/release/xsl/current/profiling/profile.xsl \
|
---|
85 | index.xml
|
---|
86 | @cd $(TEXBASEDIR) && xsltproc --nonet -o blfs-book.tex \
|
---|
87 | $(SRCDIR)/stylesheets/blfs-tex.xsl index.xml
|
---|
88 |
|
---|
89 | dump-commands:
|
---|
90 | xsltproc --xinclude --nonet --output $(DUMPDIR)/ \
|
---|
91 | stylesheets/dump-commands.xsl index.xml
|
---|
92 |
|
---|
93 | validate:
|
---|
94 | xmllint --noout --nonet --xinclude --postvalid index.xml
|
---|
95 |
|
---|
96 | validate-pdf:
|
---|
97 | xsltproc --xinclude --nonet --stringparam profile.condition pdf \
|
---|
98 | --output blfs-pdf.xml stylesheets/blfs-profile.xsl index.xml
|
---|
99 | xmllint --noout --nonet --postvalid blfs-pdf.xml
|
---|
100 |
|
---|
101 | blfs-patch-list:
|
---|
102 | @echo "Generating blfs-patch-list..."
|
---|
103 | xsltproc --xinclude --nonet \
|
---|
104 | --output blfs-patch-list stylesheets/patcheslist.xsl index.xml
|
---|
105 | sed -e "s|^.*/||" blfs-patch-list > blfs-patches
|
---|
106 | sort blfs-patches > blfs-patch-list
|
---|
107 | rm blfs-patches
|
---|
108 |
|
---|
109 | wget-list:
|
---|
110 | mkdir -p $(BASEDIR)
|
---|
111 | xsltproc --xinclude --nonet stylesheets/wget-list.xsl index.xml > $(BASEDIR)/wget-list
|
---|
112 |
|
---|
113 | test-links:
|
---|
114 | mkdir -p $(BASEDIR)
|
---|
115 | xsltproc --xinclude --nonet --stringparam list_mode full \
|
---|
116 | stylesheets/wget-list.xsl index.xml > $(BASEDIR)/test-links
|
---|
117 | rm -f $(BASEDIR)/{good,bad,true_bad}_urls
|
---|
118 | for URL in `cat $(BASEDIR)/test-links`; do \
|
---|
119 | wget --spider --tries=2 --timeout=60 $$URL >>/dev/null 2>&1; \
|
---|
120 | if test $$? -ne 0 ; then echo $$URL >> $(BASEDIR)/bad_urls ; \
|
---|
121 | else echo $$URL >> $(BASEDIR)/good_urls 2>&1; \
|
---|
122 | fi; \
|
---|
123 | done
|
---|
124 | for URL2 in `cat $(BASEDIR)/bad_urls`; do \
|
---|
125 | wget --spider --tries=2 --timeout=60 $$URL2 >>/dev/null 2>&1; \
|
---|
126 | if test $$? -ne 0 ; then echo $$URL2 >> $(BASEDIR)/true_bad_urls ; \
|
---|
127 | else echo $$URL2 >> $(BASEDIR)/good_urls 2>&1; \
|
---|
128 | fi; \
|
---|
129 | done
|
---|
130 |
|
---|
131 | .PHONY : blfs-patch-list wget-list test-links
|
---|