| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 | 
							- #BASEDIR = ~/lfs-book
 
- #SYSDDIR = ~/lfs-systemd
 
- #DUMPDIR = ~/lfs-commands
 
- RENDERTMP = $(HOME)/tmp
 
- CHUNK_QUIET = 1
 
- ROOT_ID =
 
- SHELL = /bin/bash
 
- ifdef V
 
-   Q =
 
- else
 
-   Q = @
 
- endif
 
- ifndef REV
 
-   REV = sysv
 
- endif
 
- ifneq ($(REV), sysv)
 
-   ifneq ($(REV), systemd)
 
-     $(error REV must be 'sysv' (default) or 'systemd'.)
 
-   endif
 
- endif
 
- ifeq ($(REV), sysv)
 
-   BASEDIR         ?= ~/lfs-book
 
-   PDF_OUTPUT      ?= LFS-BOOK.pdf
 
-   NOCHUNKS_OUTPUT ?= LFS-BOOK.html
 
-   DUMPDIR         ?= ~/lfs-commands
 
- else
 
-   BASEDIR         ?= ~/lfs-systemd
 
-   PDF_OUTPUT      ?= LFS-SYSD-BOOK.pdf
 
-   NOCHUNKS_OUTPUT ?= LFS-SYSD-BOOK.html
 
-   DUMPDIR         ?= ~/lfs-sysd-commands
 
- endif
 
- book: validate profile-html
 
- 	@echo "Generating chunked XHTML files at $(BASEDIR)/ ..."
 
- 	$(Q)xsltproc --nonet                          \
 
-       --stringparam chunk.quietly $(CHUNK_QUIET) \
 
-       --stringparam rootid "$(ROOT_ID)"          \
 
-       --stringparam base.dir $(BASEDIR)/         \
 
-       --stringparam l10n.gentext.default.language "zh_cn" \
 
-       stylesheets/lfs-chunked.xsl                \
 
-       $(RENDERTMP)/lfs-html.xml
 
- 	@echo "Copying CSS code and images..."
 
- 	$(Q)mkdir -p $(BASEDIR)/stylesheets
 
- 	$(Q)cp stylesheets/lfs-xsl/*.css $(BASEDIR)/stylesheets
 
- 	$(Q)pushd $(BASEDIR)/ > /dev/null;                     \
 
-        sed -i -e "s@../stylesheets@stylesheets@g" *.html; \
 
-        popd > /dev/null
 
- 	$(Q)mkdir -p $(BASEDIR)/images
 
- 	$(Q)cp images/*.png $(BASEDIR)/images
 
- 	@echo "Running Tidy and obfuscate.sh..."
 
- 	$(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \
 
-          tidy -config tidy.conf $$filename;           \
 
-          true;                                        \
 
-          /bin/bash obfuscate.sh $$filename;           \
 
-          sed -e "s@text/html@application/xhtml+xml@g" \
 
-              -i $$filename;                           \
 
-    done;
 
- 	$(Q)$(MAKE) --no-print-directory wget-list md5sums
 
- pdf: validate
 
- 	@echo "Generating profiled XML for PDF..."
 
- 	$(Q)xsltproc --nonet \
 
-                 --stringparam profile.condition pdf \
 
-                 --output $(RENDERTMP)/lfs-pdf.xml   \
 
-                 stylesheets/lfs-xsl/profile.xsl     \
 
-                 $(RENDERTMP)/lfs-full.xml
 
- 	@echo "Generating FO file..."
 
- 	$(Q)xsltproc --nonet                           \
 
-                  --stringparam l10n.gentext.default.language "zh_cn" \
 
-                  --stringparam rootid "$(ROOT_ID)" \
 
-                  --output $(RENDERTMP)/lfs-pdf.fo  \
 
-                  stylesheets/lfs-pdf.xsl           \
 
-                  $(RENDERTMP)/lfs-pdf.xml
 
- 	$(Q)sed -i -e 's/span="inherit"/span="all"/' $(RENDERTMP)/lfs-pdf.fo
 
- 	$(Q)bash pdf-fixups.sh $(RENDERTMP)/lfs-pdf.fo
 
- 	@echo "Fetch fonts from the server if necessary..."
 
- 	$(Q)make -C fonts
 
- 	@echo "Copying fonts to temporary directory..."
 
- 	$(Q)mkdir -p $(RENDERTMP)/fonts
 
- 	$(Q)cp fonts/* $(RENDERTMP)/fonts
 
- 	@echo "Generating PDF file..."
 
- 	$(Q)mkdir -p $(RENDERTMP)/images
 
- 	$(Q)cp images/*.png $(RENDERTMP)/images
 
- 	$(Q)mkdir -p $(BASEDIR)
 
- 	$(Q)fop -q  $(RENDERTMP)/lfs-pdf.fo $(BASEDIR)/$(PDF_OUTPUT) -c fopconfig.xml 2>fop.log
 
- 	@echo "$(BASEDIR)/$(PDF_OUTPUT) created"
 
- 	@echo "fop.log created"
 
- nochunks: validate profile-html
 
- 	@echo "Generating non chunked XHTML file..."
 
- 	$(Q)xsltproc --nonet                                \
 
-                 --stringparam l10n.gentext.default.language "zh_cn" \
 
-                 --stringparam rootid "$(ROOT_ID)"      \
 
-                 --output $(BASEDIR)/$(NOCHUNKS_OUTPUT) \
 
-                 stylesheets/lfs-nochunks.xsl           \
 
-                 $(RENDERTMP)/lfs-html2.xml
 
- 	@echo "Running Tidy..."
 
- 	$(Q)tidy -config tidy.conf $(BASEDIR)/$(NOCHUNKS_OUTPUT) || true
 
- 	@echo "Running obfuscate.sh..."
 
- 	$(Q)bash obfuscate.sh                                $(BASEDIR)/$(NOCHUNKS_OUTPUT)
 
- 	$(Q)sed -i -e "s@text/html@application/xhtml+xml@g"  $(BASEDIR)/$(NOCHUNKS_OUTPUT)
 
- 	$(Q)sed -i -e "s@../wget-list@wget-list@"            $(BASEDIR)/$(NOCHUNKS_OUTPUT)
 
- 	$(Q)sed -i -e "s@../md5sums@md5sums@"                $(BASEDIR)/$(NOCHUNKS_OUTPUT)
 
- 	# $(Q)sed -i -e "s@\xa9@\©@"                      $(BASEDIR)/$(NOCHUNKS_OUTPUT)
 
- 	@echo "Output at $(BASEDIR)/$(NOCHUNKS_OUTPUT)"
 
- tmpdir:
 
- 	@echo "Creating and cleaning $(RENDERTMP)"
 
- 	$(Q)mkdir -p $(RENDERTMP)
 
- 	$(Q)rm -f $(RENDERTMP)/lfs*.xml
 
- 	$(Q)rm -f $(RENDERTMP)/*wget*
 
- 	$(Q)rm -f $(RENDERTMP)/*md5sum*
 
- 	$(Q)rm -f $(RENDERTMP)/*pdf.fo
 
- validate: tmpdir
 
- 	@echo "Processing bootscripts..."
 
- 	$(Q)bash process-scripts.sh
 
- 	@echo "Adjusting for revision $(REV)..."
 
- 	$(Q)xsltproc --nonet                               \
 
-                 --xinclude                            \
 
-                 --output $(RENDERTMP)/lfs-html2.xml   \
 
-                 --stringparam profile.revision $(REV) \
 
-                 stylesheets/lfs-xsl/profile.xsl       \
 
-                 index.xml
 
- 	@echo "Validating the book..."
 
- 	$(Q)xmllint --nonet                      \
 
-                --noent                      \
 
-                --postvalid                  \
 
- 	            -o $(RENDERTMP)/lfs-full.xml \
 
-                $(RENDERTMP)/lfs-html2.xml
 
- 	$(Q)rm -f appendices/*.script
 
- 	$(Q)./aux-file-data.sh $(RENDERTMP)/lfs-full.xml
 
- 	@echo "Validation complete."
 
- profile-html: 
 
- 	@echo "Generating profiled XML for XHTML..."
 
- 	$(Q)xsltproc --nonet                              \
 
-                 --stringparam profile.condition html \
 
- 	             --output $(RENDERTMP)/lfs-html.xml   \
 
-                 stylesheets/lfs-xsl/profile.xsl      \
 
- 	             $(RENDERTMP)/lfs-full.xml
 
- wget-list: $(BASEDIR)/wget-list
 
- $(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \
 
-                       packages.ent patches.ent
 
- 	@echo "Generating consolidated wget list at $(BASEDIR)/wget-list ..."
 
- 	$(Q)mkdir -p $(BASEDIR)
 
- #	$(Q)xsltproc --nonet --xinclude                    \
 
- #                --stringparam profile.revision $(REV) \
 
- #                --output $(RENDERTMP)/sysd-wget.xml   \
 
- #                stylesheets/lfs-xsl/profile.xsl       \
 
- #                chapter03/chapter03.xml
 
- 	$(Q)xsltproc --xinclude --nonet            \
 
-                 --output $(BASEDIR)/wget-list \
 
- 	             stylesheets/wget-list.xsl     \
 
-                 chapter03/chapter03.xml
 
- md5sums: $(BASEDIR)/md5sums
 
- $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \
 
-                     packages.ent patches.ent
 
- 	@echo "Generating consolidated md5sum file at $(BASEDIR)/md5sums ..."
 
- 	$(Q)mkdir -p $(BASEDIR)
 
- 	$(Q)xsltproc --nonet --xinclude                    \
 
-                 --stringparam profile.revision $(REV) \
 
-                 --output $(RENDERTMP)/sysv-md5sum.xml \
 
-                 stylesheets/lfs-xsl/profile.xsl       \
 
-                 chapter03/chapter03.xml
 
- 	$(Q)xsltproc --xinclude --nonet          \
 
-                 --output $(BASEDIR)/md5sums \
 
-                 stylesheets/md5sum.xsl      \
 
-                 $(RENDERTMP)/sysv-md5sum.xml
 
- 	$(Q)sed -i -e \
 
-        "s/BOOTSCRIPTS-MD5SUM/$(shell md5sum lfs-bootscripts*.tar.bz2 | cut -d' ' -f1)/" \
 
-        $(BASEDIR)/md5sums
 
- #dump-commands: validate
 
- #	@echo "Dumping book commands..."
 
- #	$(Q)xsltproc --nonet                     \
 
- #      --output $(RENDERTMP)/lfs-html.xml    \
 
- #      --stringparam profile.revision $(REV) \
 
- #      stylesheets/lfs-xsl/profile.xsl       \
 
- #      $(RENDERTMP)/lfs-full.xml
 
- #	$(Q)rm -rf $(DUMPDIR)
 
- #	$(Q)xsltproc --output $(DUMPDIR)/          \
 
- #                stylesheets/dump-commands.xsl \
 
- #                $(RENDERTMP)/lfs-html.xml
 
- #	@echo "Dumping book commands complete in $(DUMPDIR)"
 
- all: book nochunks pdf # dump-commands
 
- .PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list
 
 
  |