diff options
author | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2016-05-25 23:16:12 +0000 |
---|---|---|
committer | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2016-05-25 23:16:12 +0000 |
commit | 35a5259fe64d197ee8202a38e58db4f3ea5383e9 (patch) | |
tree | 1aac52ab0b7bf0c093910ddbaadaa64dde2535d6 /Makefile | |
parent | 188e34cbfeb30b3e8a17e10277c89038cfc5a7ab (diff) |
Optimize building merged books
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/merge@11076 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 237 |
1 files changed, 54 insertions, 183 deletions
@@ -1,13 +1,9 @@ -BASEDIR = ~/lfs-book -SYSDDIR = ~/lfs-systemd -DUMPDIR = ~/lfs-commands +#BASEDIR = ~/lfs-book +#SYSDDIR = ~/lfs-systemd +#DUMPDIR = ~/lfs-commands RENDERTMP = $(HOME)/tmp CHUNK_QUIET = 1 ROOT_ID = -PDF_OUTPUT = LFS-BOOK.pdf -PDF_SYSD_OUTPUT = LFS-SYSD-BOOK.pdf -NOCHUNKS_OUTPUT = LFS-BOOK.html -NOCHUNKS_SYSD_FILE = LFS-SYSD-BOOK.html SHELL = /bin/bash ifdef V @@ -16,14 +12,30 @@ else Q = @ endif -sysv: validate profile-html - $(Q)xsltproc --nonet \ - --output $(RENDERTMP)/lfs-html2.xml \ - --stringparam profile.revision sysv \ - stylesheets/lfs-xsl/profile.xsl \ - $(RENDERTMP)/lfs-html.xml +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 - @echo "Generating chunked XHTML files..." +book: validate profile-html + @echo "Generating chunked XHTML files at $(BASEDIR)/ ..." $(Q)xsltproc --nonet \ --stringparam chunk.quietly $(CHUNK_QUIET) \ --stringparam rootid "$(ROOT_ID)" \ @@ -53,48 +65,13 @@ sysv: validate profile-html $(Q)$(MAKE) --no-print-directory wget-list md5sums -systemd: validated profile-html - $(Q)xsltproc --nonet \ - --output $(RENDERTMP)/lfs-html2.xml \ - --stringparam profile.revision systemd \ - stylesheets/lfs-xsl/profile.xsl \ - $(RENDERTMP)/lfs-html.xml - - @echo "Generating chunked XHTML files..." - $(Q)xsltproc --nonet \ - --stringparam chunk.quietly $(CHUNK_QUIET) \ - --stringparam rootid "$(ROOT_ID)" \ - --stringparam base.dir $(SYSDDIR)/ \ - stylesheets/lfs-chunked.xsl \ - $(RENDERTMP)/lfs-html2.xml - - @echo "Copying CSS code and images..." - $(Q)mkdir -p $(SYSDDIR)/stylesheets - $(Q)cp stylesheets/lfs-xsl/*.css $(SYSDDIR)/stylesheets - - $(Q)mkdir -p $(SYSDDIR)/images - $(Q)cp images/*.png $(SYSDDIR)/images - - @echo "Running Tidy and obfuscate.sh..." - $(Q)for filename in `find $(SYSDDIR) -name "*.html"`; do \ - tidy -config tidy.conf $$filename; \ - true; \ - /bin/bash obfuscate.sh $$filename; \ - sed -e "s@text/html@application/xhtml+xml@g" \ - -e "s/\xa9/\©/ " \ - -i $$filename; \ - done; - - $(Q)$(MAKE) --no-print-directory wget-listd md5sumsd - pdf: validate @echo "Generating profiled XML for PDF..." $(Q)xsltproc --nonet \ --stringparam profile.condition pdf \ - --stringparam profile.revision sysv \ --output $(RENDERTMP)/lfs-pdf.xml \ stylesheets/lfs-xsl/profile.xsl \ - $(RENDERTMP)/lfs-full.xml + $(RENDERTMP)/lfs-html2.xml @echo "Generating FO file..." $(Q)xsltproc --nonet \ @@ -113,39 +90,7 @@ pdf: validate @echo "$(BASEDIR)/$(PDF_OUTPUT) created" @echo "fop.log created" -pdfd: validated - @echo "Generating profiled XML for PDF..." - $(Q)xsltproc --nonet \ - --stringparam profile.condition pdf \ - --stringparam profile.revision systemd \ - --output $(RENDERTMP)/lfs-pdf.xml \ - stylesheets/lfs-xsl/profile.xsl \ - $(RENDERTMP)/lfs-full.xml - - @echo "Generating FO file..." - $(Q)xsltproc --nonet \ - --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 "Generating PDF file..." - $(Q)mkdir -p $(SYSDDIR) - - $(Q)fop -q $(RENDERTMP)/lfs-pdf.fo $(SYSDDIR)/$(PDF_SYSD_OUTPUT) 2>fop.log - @echo "$(SYSDDIR)/$(PDF_SYSD_OUTPUT) created" - @echo "fop.log created" - nochunks: validate profile-html - $(Q)xsltproc --nonet \ - --output $(RENDERTMP)/lfs-html2.xml \ - --stringparam profile.revision sysv \ - stylesheets/lfs-xsl/profile.xsl \ - $(RENDERTMP)/lfs-html.xml - @echo "Generating non chunked XHTML file..." $(Q)xsltproc --nonet \ --stringparam rootid "$(ROOT_ID)" \ @@ -165,81 +110,55 @@ nochunks: validate profile-html @echo "Output at $(BASEDIR)/$(NOCHUNKS_OUTPUT)" -nochunksd: validated profile-html - $(Q)xsltproc --nonet \ - --output $(RENDERTMP)/lfs-html2.xml \ - --stringparam profile.revision systemd \ - stylesheets/lfs-xsl/profile.xsl \ - $(RENDERTMP)/lfs-html.xml - - @echo "Generating non chunked XHTML file..." - $(Q)xsltproc --nonet \ - --stringparam rootid "$(ROOT_ID)" \ - --output $(SYSDDIR)/$(NOCHUNKS_SYSD_FILE) \ - stylesheets/lfs-nochunks.xsl \ - $(RENDERTMP)/lfs-html2.xml - - @echo "Running Tidy..." - $(Q)tidy -config tidy.conf $(SYSDDIR)/$(NOCHUNKS_SYSD_FILE) || true - - @echo "Running obfuscate.sh..." - $(Q)bash obfuscate.sh $(SYSDDIR)/$(NOCHUNKS_SYSD_FILE) - $(Q)sed -i -e "s@text/html@application/xhtml+xml@g" $(SYSDDIR)/$(NOCHUNKS_SYSD_FILE) - $(Q)sed -i -e "s@../wget-list@wget-list@" $(SYSDDIR)/$(NOCHUNKS_SYSD_FILE) - $(Q)sed -i -e "s@../md5sums@md5sums@" $(SYSDDIR)/$(NOCHUNKS_SYSD_FILE) - $(Q)sed -i -e "s@\xa9@\©@" $(SYSDDIR)/$(NOCHUNKS_SYSD_FILE) - - @echo "Output at $(SYSDDIR)/$(NOCHUNKS_SYSD_FILE)" - tmpdir: @echo "Creating and cleaning $(RENDERTMP)" $(Q)mkdir -p $(RENDERTMP) $(Q)rm -f $(RENDERTMP)/lfs*.xml - $(Q)rm -f $(RENDERTMP)/sysd*.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 \ - --xinclude \ --postvalid \ -o $(RENDERTMP)/lfs-full.xml \ - index.xml + $(RENDERTMP)/lfs-html2.xml + $(Q)rm -f appendices/*.script $(Q)./aux-file-data.sh $(RENDERTMP)/lfs-full.xml @echo "Validation complete." -validated: tmpdir - @echo "Validating the book..." - $(Q)xmllint --nonet \ - --noent \ - --xinclude \ - --postvalid \ - -o $(RENDERTMP)/lfs-full.xml \ - indexd.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 + $(RENDERTMP)/lfs-html2.xml wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \ packages.ent patches.ent - @echo "Generating wget list for sysv..." + @echo "Generating wget list for sysv at $(BASEDIR)/wget-list ..." $(Q)mkdir -p $(BASEDIR) - $(Q)xsltproc --nonet --xinclude \ - --stringparam profile.revision sysv \ - --output $(RENDERTMP)/sysd-wget.xml \ - stylesheets/lfs-xsl/profile.xsl \ + $(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 \ @@ -247,31 +166,14 @@ $(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \ stylesheets/wget-list.xsl \ chapter03/chapter03.xml -wget-listd: $(SYSDDIR)/wget-listd -$(SYSDDIR)/wget-listd: stylesheets/wget-list.xsl chapter03/chapter03.xml \ - packages.ent patches.ent - @echo "Generating wget list for systemd..." - $(Q)mkdir -p $(SYSDDIR) - - $(Q)xsltproc --xinclude --nonet \ - --stringparam profile.revision systemd \ - --output $(RENDERTMP)/sysd-wget.xml \ - stylesheets/lfs-xsl/profile.xsl \ - chapter03/chapter03.xml - - $(Q)xsltproc --xinclude --nonet \ - --output $(SYSDDIR)/wget-list \ - stylesheets/wget-list.xsl \ - $(RENDERTMP)/sysd-wget.xml - md5sums: $(BASEDIR)/md5sums $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \ packages.ent patches.ent - @echo "Generating md5sum file for sysv..." + @echo "Generating md5sum file for sysv at $(BASEDIR)/md5sums ..." $(Q)mkdir -p $(BASEDIR) $(Q)xsltproc --nonet --xinclude \ - --stringparam profile.revision sysv \ + --stringparam profile.revision $(REV) \ --output $(RENDERTMP)/sysv-md5sum.xml \ stylesheets/lfs-xsl/profile.xsl \ chapter03/chapter03.xml @@ -284,28 +186,12 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \ "s/BOOTSCRIPTS-MD5SUM/$(shell md5sum lfs-bootscripts*.tar.bz2 | cut -d' ' -f1)/" \ $(BASEDIR)/md5sums -md5sumsd: $(SYSDDIR)/md5sums -$(SYSDDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \ - packages.ent patches.ent - @echo "Generating md5sum file for systemd..." - $(Q)mkdir -p $(SYSDDIR) - $(Q)xsltproc --nonet --xinclude \ - --stringparam profile.revision systemd \ - --output $(RENDERTMP)/sysd-md5sum.xml \ - stylesheets/lfs-xsl/profile.xsl \ - chapter03/chapter03.xml - - $(Q)xsltproc --xinclude --nonet \ - --output $(SYSDDIR)/md5sums \ - stylesheets/md5sum.xsl \ - $(RENDERTMP)/sysd-md5sum.xml - dump-commands: validate @echo "Dumping book commands..." - $(Q)xsltproc --nonet \ - --output $(RENDERTMP)/lfs-html.xml \ - --stringparam profile.revision sysv \ - stylesheets/lfs-xsl/profile.xsl \ + $(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) @@ -315,22 +201,7 @@ dump-commands: validate $(RENDERTMP)/lfs-html.xml @echo "Dumping book commands complete in $(DUMPDIR)" -dump-commandsd: validated - @echo "Dumping book commands..." - $(Q)xsltproc --nonet \ - --output $(RENDERTMP)/lfs-html.xml \ - --stringparam profile.revision systemd \ - 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: lfs nochunks pdf dump-commands +all: book nochunks pdf dump-commands -.PHONY : all sysv systemd dump-commands lfs nochunks pdf profile-html tmpdir validate +.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list |