- Timestamp:
- Feb 26, 2011, 9:29:31 AM (14 years ago)
- Branches:
- master
- Parents:
- bf90190
- Location:
- BOOK
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/Makefile
rbf90190 r4fc026e 1 BASEDIR := ~/cross-lfs-sysroot-book 2 DUMPDIR := ~/cross-lfs-sysroot-commands 3 DLLISTDIR := ~/cross-lfs-sysroot-dllist 4 RENDERTMP := $(HOME)/tmp 1 TOP := $(PWD) 2 RENDERDIR := $(TOP)/../render 3 4 VALIDATEDIR := $(RENDERDIR)/validate 5 PROFILEDIR := $(RENDERDIR)/profile 6 7 HTMLDIR := $(RENDERDIR)/html 8 NOCHUNKDIR := $(RENDERDIR)/nochunk 9 10 FODIR := $(RENDERDIR)/fo 11 PDFDIR := $(RENDERDIR)/pdf 12 13 TROUBLEDIR := $(RENDERDIR)/trouble 14 DUMPDIR := $(RENDERDIR)/commands 15 DLLISTDIR := $(RENDERDIR)/download-list 16 5 17 CHUNK_QUIET := 1 6 ROOT_ID := 7 8 S := - 18 ROOT_ID := 9 19 10 20 ARCHS := alpha arm hppa x86 11 12 ARCHS_HTML := $(ARCHS:%=%$(S)html)13 ARCHS_NOCHUNKS := $(ARCHS:%=%$(S)nochunks)14 ARCHS_PDF := $(ARCHS:%=%$(S)pdf)15 ARCHS_VALIDATE := $(ARCHS:%=%$(S)validate)16 ARCHS_TROUBLE := $(ARCHS:%=%$(S)trouble)17 ARCHS_DUMP := $(ARCHS:%=%$(S)dump)18 ARCHS_DLLIST := $(ARCHS:%=%$(S)dllist)19 21 20 22 ifdef V … … 24 26 endif 25 27 26 .PHONY: lfs tidy render titlepage $(ARCHS_HTML) nochunks $(ARCHS_NOCHUNKS) pdf \ 27 $(ARCHS_PDF) validate $(ARCHS_VALIDATE) trouble $(ARCHS_TROUBLE) \ 28 dump-commands $(ARCHS_DUMP) download-list $(ARCHS_DLLIST) tmpdir 29 30 lfs: tmpdir render tidy 31 32 tmpdir: 33 @echo "Creating and cleaning $(RENDERTMP)" 34 $(Q)[ -d $(RENDERTMP) ] || mkdir -p $(RENDERTMP) 35 $(Q)rm -f $(RENDERTMP)/*-{full,html,pdf}.xml 36 $(Q)rm -f $(RENDERTMP)/*.fo 37 28 .PHONY: clfs lfs 29 clfs lfs: html 30 31 .PHONY: tidy tidy-f tidy-d 38 32 ifeq ($(shell which tidy >/dev/null 2>&1 && echo yes),yes) 39 33 tidy: 40 @echo "Running tidy on the created HTML" 41 $(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \ 42 tidy -config $(PWD)/tidy.conf $$filename; \ 43 true; \ 44 sh $(PWD)/obfuscate.sh $$filename; \ 45 sed -i -e "s@text/html@application/xhtml+xml@g" $$filename; \ 46 done; 34 @$(MAKE) --no-print-directory tidy-d TIDY_DIR=$(HTMLDIR) 35 36 tidy-f: 37 @echo "Running tidy on F:$(shell basename $(TIDY_FILE))" 38 @$(TOP)/tidy.sh "$(TIDY_FILE)" 39 40 tidy-d: 41 @echo "Running tidy on D:$(shell basename $(TIDY_DIR))" 42 @$(TOP)/tidy.sh "$(TIDY_DIR)" 47 43 else 48 tidy :44 tidy tidy-f tidy-d: 49 45 @echo "Tidy is not installed on this system" 50 46 endif 51 47 52 render: $(ARCHS_HTML) titlepage 53 48 .PHONY: titlepage 54 49 titlepage: 55 @echo "Rendering Top Index" 56 $(Q)xsltproc --nonet --output $(BASEDIR)/index.html \ 57 $(PWD)/stylesheets/top-index.xsl $(PWD)/index.xml 58 59 $(ARCHS_HTML): override html_arch = $(@:%$(S)html=%) 50 @echo "Rendering the top-level index..." 51 $(Q)xsltproc --nonet --output $(HTMLDIR)/index.html \ 52 $(PWD)/stylesheets/top-index.xsl \ 53 $(PWD)/index.xml 54 @$(MAKE) --no-print-directory tidy-f TIDY_FILE=$(HTMLDIR)/index.html 55 56 ARCHS_VD_XML := $(ARCHS:%=%-validate_dump-xml) 57 .PHONY: $(ARCHS_VD_XML) 58 $(ARCHS_VD_XML): override arch = $(@:%-validate_dump-xml=%) 59 $(ARCHS_VD_XML): 60 @echo "Validating $(arch) book..." 61 $(Q)mkdir -p $(VALIDATEDIR) 62 $(Q)xmllint --nonet --noent --xinclude --postvalid \ 63 -o $(VALIDATEDIR)/$(arch)-full.xml \ 64 $(PWD)/$(arch)-index.xml 65 66 ARCHS_P_XML := $(ARCHS:%=%-profiled-xml) 67 .PHONY: $(ARCHS_P_XML) 68 $(ARCHS_P_XML): override arch = $(@:%-profiled-xml=%) 69 $(ARCHS_P_XML): 70 @$(MAKE) --no-print-directory $(arch)-validate_dump-xml 71 @echo "Generating profiled $(arch) book..." 72 $(Q)mkdir -p $(PROFILEDIR) 73 $(Q)xsltproc --nonet --stringparam profile.condition html \ 74 --output $(PROFILEDIR)/$(arch)-html.xml \ 75 $(PWD)/stylesheets/lfs-xsl/profile.xsl \ 76 $(VALIDATEDIR)/$(arch)-full.xml 77 78 ARCHS_HTML := $(ARCHS:%=%-html) 79 .PHONY: html render $(ARCHS_HTML) 80 html render: $(ARCHS_HTML) titlepage 81 $(ARCHS_HTML): override arch = $(@:%-html=%) 60 82 $(ARCHS_HTML): 61 @echo "Validating $(html_arch) book..." 62 $(Q)xmllint --nonet --noent --xinclude --postvalid \ 63 -o $(RENDERTMP)/$(html_arch)-full.xml $(PWD)/$(html_arch)-index.xml 64 65 @echo "Generating profiled $(html_arch) book for XHTML..." 66 $(Q)xsltproc --nonet --stringparam profile.condition html \ 67 --output $(RENDERTMP)/$(html_arch)-html.xml \ 68 $(PWD)/stylesheets/lfs-xsl/profile.xsl $(RENDERTMP)/$(html_arch)-full.xml 69 70 @echo "Rendering chunked XHTML of $(html_arch)..." 71 $(Q)mkdir -p $(BASEDIR)/$(html_arch) 83 @$(MAKE) --no-print-directory $(arch)-profiled-xml 84 85 @echo "Rendering chunked XHTML of $(arch)..." 86 $(Q)mkdir -p $(HTMLDIR)/$(arch) 72 87 $(Q)xsltproc --nonet -stringparam chunk.quietly $(CHUNK_QUIET) \ 73 88 -stringparam rootid "$(ROOT_ID)" \ 74 -stringparam base.dir $(BASEDIR)/$(html_arch)/ \ 75 $(PWD)/stylesheets/clfs-chunked.xsl $(RENDERTMP)/$(html_arch)-html.xml 76 77 @echo "Copying CSS code and images..." 78 $(Q)mkdir -p $(BASEDIR)/$(html_arch)/stylesheets 79 $(Q)cp $(PWD)/stylesheets/lfs-xsl/*.css $(BASEDIR)/$(html_arch)/stylesheets 80 $(Q)sed -i -e "s@../stylesheets@stylesheets@g" $(BASEDIR)/$(html_arch)/*.html 81 $(Q)mkdir -p $(BASEDIR)/$(html_arch)/images 82 $(Q)cp $(PWD)/images/*.png $(BASEDIR)/$(html_arch)/images 83 $(Q)sed -i -e "s@../images@images@g" $(BASEDIR)/$(html_arch)/*.html 84 85 nochunks: tmpdir $(ARCHS_NOCHUNKS) tidy 86 87 $(ARCHS_NOCHUNKS): override nochunk_arch = $(@:%$(S)nochunks=%) 89 -stringparam base.dir $(HTMLDIR)/$(arch)/ \ 90 $(PWD)/stylesheets/clfs-chunked.xsl \ 91 $(PROFILEDIR)/$(arch)-html.xml 92 93 @echo "Copying CSS code and images for $(arch)..." 94 $(Q)mkdir -p $(HTMLDIR)/$(arch)/stylesheets 95 $(Q)cp $(PWD)/stylesheets/lfs-xsl/*.css $(HTMLDIR)/$(arch)/stylesheets 96 $(Q)sed -i -e "s@../stylesheets@stylesheets@g" $(HTMLDIR)/$(arch)/*.html 97 $(Q)mkdir -p $(HTMLDIR)/$(arch)/images 98 $(Q)cp $(PWD)/images/*.png $(HTMLDIR)/$(arch)/images 99 $(Q)sed -i -e "s@../images@images@g" $(HTMLDIR)/$(arch)/*.html 100 101 @$(MAKE) --no-print-directory tidy-d TIDY_DIR=$(HTMLDIR)/$(arch) 102 103 ARCHS_NOCHUNKS := $(ARCHS:%=%-nochunks) 104 .PHONY: nochunks $(ARCHS_NOCHUNKS) 105 nochunks: $(ARCHS_NOCHUNKS) 106 $(ARCHS_NOCHUNKS): override arch = $(@:%-nochunks=%) 88 107 $(ARCHS_NOCHUNKS): 89 @echo "Validating $(nochunk_arch) book..." 90 $(Q)xmllint --nonet --noent --xinclude --postvalid \ 91 -o $(RENDERTMP)/$(nochunk_arch)-full.xml $(PWD)/$(nochunk_arch)-index.xml 92 93 @echo "Generating profiled $(nochunk_arch) book for XHTML..." 94 $(Q)xsltproc --nonet --stringparam profile.condition html \ 95 --output $(RENDERTMP)/$(nochunk_arch)-html.xml \ 96 $(PWD)/stylesheets/lfs-xsl/profile.xsl \ 97 $(RENDERTMP)/$(nochunk_arch)-full.xml 98 99 @echo "Rendering Single File HTML of $(nochunk_arch)..." 100 $(Q)mkdir -p $(BASEDIR) 108 @$(MAKE) --no-print-directory $(arch)-profiled-xml 109 110 @echo "Rendering Single File HTML of $(arch)..." 111 $(Q)mkdir -p $(NOCHUNKDIR) 101 112 $(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \ 102 --output $(BASEDIR)/CLFS-SYSROOT-$(nochunk_arch).html \ 103 $(PWD)/stylesheets/clfs-nochunks.xsl $(RENDERTMP)/$(nochunk_arch)-html.xml 104 105 @echo "Running Tidy..." 106 $(Q)tidy -config $(PWD)/tidy.conf $(BASEDIR)/CLFS-SYSROOT-$(nochunk_arch).html || true 107 @echo "Running obfuscate.sh..." 108 $(Q)sh $(PWD)/obfuscate.sh $(BASEDIR)/CLFS-SYSROOT-$(nochunk_arch).html 109 $(Q)sed -i -e "s@text/html@application/xhtml+xml@g" \ 110 $(BASEDIR)/CLFS-SYSROOT-$(nochunk_arch).html 111 112 pdf: tmpdir $(ARCHS_PDF) 113 114 $(ARCHS_PDF): override pdf_arch = $(@:%$(S)pdf=%) 113 --output $(NOCHUNKDIR)/CLFS-$(arch).html \ 114 $(PWD)/stylesheets/clfs-nochunks.xsl \ 115 $(PROFILEDIR)/$(arch)-html.xml 116 117 @$(MAKE) --no-print-directory tidy-f TIDY_FILE=$(NOCHUNKDIR)/CLFS-$(arch).html 118 119 ARCHS_FO := $(ARCHS:%=%-fo) 120 .PHONY: fo $(ARCHS_FO) 121 fo: $(ARCHS_FO) 122 $(ARCHS_FO): override arch = $(@:%-fo=%) 123 $(ARCHS_FO): 124 @$(MAKE) --no-print-directory $(arch)-profiled-xml 125 126 @echo "Generating FO file of $(arch)..." 127 @mkdir -p $(FODIR) 128 $(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \ 129 --output $(FODIR)/$(arch).fo \ 130 $(PWD)/stylesheets/clfs-pdf.xsl \ 131 $(PROFILEDIR)/$(arch)-html.xml 132 $(Q)sed -i -e 's/span="inherit"/span="all"/' $(FODIR)/$(arch).fo 133 134 ARCHS_PDF := $(ARCHS:%=%-pdf) 135 .PHONY: pdf $(ARCHS_PDF) 136 pdf: $(ARCHS_PDF) 137 $(ARCHS_PDF): override arch = $(@:%-pdf=%) 115 138 $(ARCHS_PDF): 116 @echo "Validating $(pdf_arch) book..." 117 $(Q)xmllint --nonet --noent --xinclude --postvalid \ 118 -o $(RENDERTMP)/$(pdf_arch)-full.xml $(PWD)/$(pdf_arch)-index.xml 119 120 @echo "Generating profiled $(pdf_arch) book for PDF..." 121 $(Q)xsltproc --nonet --stringparam profile.condition pdf \ 122 --output $(RENDERTMP)/$(pdf_arch)-pdf.xml \ 123 $(PWD)/stylesheets/lfs-xsl/profile.xsl \ 124 $(RENDERTMP)/$(pdf_arch)-full.xml 125 126 @echo "Generating FO file of $(pdf_arch)..." 127 $(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \ 128 --output $(RENDERTMP)/$(pdf_arch).fo $(PWD)/stylesheets/clfs-pdf.xsl \ 129 $(RENDERTMP)/$(pdf_arch)-pdf.xml 130 $(Q)sed -i -e 's/span="inherit"/span="all"/' $(RENDERTMP)/$(pdf_arch).fo 131 132 @echo "Rendering PDF of $(pdf_arch)..." 133 $(Q)mkdir -p $(BASEDIR) 134 $(Q)fop $(RENDERTMP)/$(pdf_arch).fo $(BASEDIR)/CLFS-SYSROOT-$(pdf_arch).pdf 135 139 @$(MAKE) --no-print-directory $(arch)-fo 140 141 @echo "Rendering PDF of $(arch)..." 142 $(Q)mkdir -p $(PDFDIR) 143 $(Q)fop $(FODIR)/$(arch).fo $(PDFDIR)/CLFS-$(arch).pdf 144 145 ARCHS_VALIDATE := $(ARCHS:%=%-validate) 146 .PHONY: validate $(ARCHS_VALIDATE) 136 147 validate: $(ARCHS_VALIDATE) 137 138 $(ARCHS_VALIDATE): override validate_arch = $(@:%$(S)validate=%) 148 $(ARCHS_VALIDATE): override arch = $(@:%-validate=%) 139 149 $(ARCHS_VALIDATE): 140 @echo "Validating $(validate_arch)..." 141 $(Q)xmllint --xinclude --noout --nonet --postvalid $(PWD)/$(validate_arch)-index.xml 142 143 trouble: tmpdir $(ARCHS_TROUBLE) 144 145 $(ARCHS_TROUBLE): override trouble_arch = $(@:%$(S)trouble=%) 150 @echo "Validating $(arch)..." 151 $(Q)xmllint --xinclude --noout \ 152 --nonet --postvalid \ 153 $(PWD)/$(arch)-index.xml 154 155 ARCHS_TROUBLE := $(ARCHS:%=%-trouble) 156 .PHONY: trouble $(ARCHS_TROUBLE) 157 trouble: $(ARCHS_TROUBLE) 158 $(ARCHS_TROUBLE): override arch = $(@:%-trouble=%) 146 159 $(ARCHS_TROUBLE): 147 @echo "Troubleshooting $(trouble_arch)..." 160 @echo "Troubleshooting $(arch)..." 161 @mkdir -p $(TROUBLEDIR) 148 162 $(Q)xmllint --xinclude --nonet --postvalid \ 149 -o $(RENDERTMP)/dump-$(trouble_arch) $(PWD)/$(trouble_arch)-index.xml 150 $(Q)xmllint --xinclude --noout --nonet --valid $(RENDERTMP)/dump-$(trouble_arch) 151 @echo "You can now look at $(RENDERTMP)/dump-$(trouble_arch) to see the errors" 152 163 -o $(TROUBLEDIR)/dump-$(arch) \ 164 $(PWD)/$(arch)-index.xml 165 $(Q)xmllint --xinclude --noout --nonet --valid \ 166 $(TROUBLEDIR)/dump-$(arch) 167 @echo "You can now look at $(TROUBLEDIR)/dump-$(arch) to see the errors" 168 169 ARCHS_DUMP := $(ARCHS:%=%-dump) 170 .PHONY: dump-commands $(ARCHS_DUMP) 153 171 dump-commands: $(ARCHS_DUMP) 154 155 $(ARCHS_DUMP): override dump_arch = $(@:%$(S)dump=%) 172 $(ARCHS_DUMP): override arch = $(@:%-dump=%) 156 173 $(ARCHS_DUMP): 157 @echo "Extracting commands from $(dump_arch)..." 158 $(Q)mkdir -p $(DUMPDIR)/$(dump_arch) 159 $(Q)xsltproc --xinclude --nonet --output $(DUMPDIR)/$(dump_arch)/ \ 160 $(PWD)/stylesheets/dump-commands.xsl $(PWD)/$(dump_arch)-index.xml 161 174 @echo "Extracting commands from $(arch)..." 175 $(Q)mkdir -p $(DUMPDIR)/$(arch) 176 $(Q)xsltproc --xinclude --nonet \ 177 --output $(DUMPDIR)/$(arch)/ \ 178 $(PWD)/stylesheets/dump-commands.xsl \ 179 $(PWD)/$(arch)-index.xml 180 181 ARCHS_DLLIST := $(ARCHS:%=%-dllist) 182 .PHONY: download-list $(ARCHS_DLLIST) 162 183 download-list: $(ARCHS_DLLIST) 163 164 $(ARCHS_DLLIST): override dllist_arch = $(@:%$(S)dllist=%) 184 $(ARCHS_DLLIST): override arch = $(@:%-dllist=%) 165 185 $(ARCHS_DLLIST): 166 @echo "Creating download list for $( dllist_arch)..."186 @echo "Creating download list for $(arch)..." 167 187 $(Q)mkdir -p $(DLLISTDIR) 168 $(Q)xsltproc --xinclude --nonet --output $(DLLISTDIR)/$(dllist_arch).dl.list \ 169 $(PWD)/stylesheets/wget.xsl $(PWD)/$(dllist_arch)-index.xml 170 188 $(Q)xsltproc --xinclude --nonet \ 189 --output $(DLLISTDIR)/$(arch).list \ 190 $(PWD)/stylesheets/wget.xsl \ 191 $(PWD)/$(arch)-index.xml 192 193 FG_GREEN := $(shell echo -e '\e[0;32m') 194 FG_BLUE := $(shell echo -e '\e[0;34m') 195 FG_DEFAULT := $(shell echo -e '\e[0;0m') 171 196 help: 197 @echo "Output: $(RENDERDIR)" 198 @echo 172 199 @echo "HTML Targets" 173 @echo -e " \e[0;32mlfs tidy render titlepage \e[0;34m$(ARCHS_HTML)\e[0;0m"200 @echo " $(FG_GREEN)clfs lfs tidy html render titlepage $(FG_BLUE)$(ARCHS_HTML)$(FG_DEFAULT)" 174 201 @echo 175 202 @echo "NoChunks Targets" 176 @echo -e " \e[0;32mnochunks tidy \e[0;34m$(ARCHS_NOCHUNKS)\e[0;0m" 203 @echo " $(FG_GREEN)nochunks tidy $(FG_BLUE)$(ARCHS_NOCHUNKS)$(FG_DEFAULT)" 204 @echo 205 @echo "FO Targets" 206 @echo " $(FG_GREEN)fo $(FG_BLUE)$(ARCHS_FO)$(FG_DEFAULT)" 177 207 @echo 178 208 @echo "PDF Targets" 179 @echo -e " \e[0;32mpdf \e[0;34m$(ARCHS_PDF)\e[0;0m"209 @echo " $(FG_GREEN)pdf $(FG_BLUE)$(ARCHS_PDF)$(FG_DEFAULT)" 180 210 @echo 181 211 @echo "Validate Targets" 182 @echo -e " \e[0;32mvalidate \e[0;34m$(ARCHS_VALIDATE)\e[0;0m"212 @echo " $(FG_GREEN)validate $(FG_BLUE)$(ARCHS_VALIDATE)$(FG_DEFAULT)" 183 213 @echo 184 214 @echo "Trouble Targets" 185 @echo -e " \e[0;32mtrouble \e[0;34m$(ARCHS_TROUBLE)\e[0;0m"215 @echo " $(FG_GREEN)trouble $(FG_BLUE)$(ARCHS_TROUBLE)$(FG_DEFAULT)" 186 216 @echo 187 217 @echo "Dump-Commands Targets" 188 @echo -e " \e[0;32mdump-commands \e[0;34m$(ARCHS_DUMP)\e[0;0m"218 @echo " $(FG_GREEN)dump-commands $(FG_BLUE)$(ARCHS_DUMP)$(FG_DEFAULT)" 189 219 @echo 190 220 @echo "Download-List Targets" 191 @echo -e " \e[0;32mdownload-list \e[0;34m$(ARCHS_DLLIST)\e[0;0m"221 @echo " $(FG_GREEN)download-list $(FG_BLUE)$(ARCHS_DLLIST)$(FG_DEFAULT)"
Note:
See TracChangeset
for help on using the changeset viewer.