SCRBL=index.rkt PDF_SCRBL=pdf-index.rkt HTML_SINGLE=all.html # Since we don't know the names of the files, and they are all generated in one go, # we just point to the main index.html file (which is not generated by other targets) HTML_MULTI=index.html PDF_SINGLE=all.pdf all: publish clean: rm -rf html $(PDF_SCRBL) html: html-single html-multi racket add-to-head.rkt .PHONY: html-single html-single: html/$(HTML_SINGLE) html/$(HTML_SINGLE): $(SCRBL) raco scribble \ --html \ --dest html \ --dest-name $(HTML_SINGLE) \ ++style gh.css \ ++main-xref-in \ --redirect-main http://docs.racket-lang.org/ \ \ $(SCRBL) .PHONY: pdf pdf: html/$(PDF_SINGLE) $(PDF_SCRBL): index.rkt # LaTeX chokes on this, let's just remove it for now. sed -e 's/トランスフォーマ/@;{トランスフォーマ}/' index.rkt > $(PDF_SCRBL) html/$(PDF_SINGLE): $(PDF_SCRBL) raco scribble \ --pdf \ --dest html \ --dest-name $(PDF_SINGLE) \ ++style gh.tex \ ++main-xref-in \ --redirect-main http://docs.racket-lang.org/ \ \ $(PDF_SCRBL) .PHONY: html-multi html-multi: html/$(HTML_MULTI) html/$(HTML_MULTI): $(SCRBL) raco scribble \ --htmls \ --dest-name html \ ++style gh.css \ ++main-xref-in \ --redirect-main http://docs.racket-lang.org/ \ \ $(SCRBL) pages: @(git branch -v | grep -q gh-pages || (echo local gh-pages branch missing; false)) @echo @git branch -av | grep gh-pages @echo @(echo 'Is the branch up to date? Press enter to continue.'; read dummy) git clone -b gh-pages . pages .PHONY: publish publish: html/$(HTML_SINGLE) html/$(PDF_SINGLE) html/$(HTML_MULTI) pages rm -rf pages/* cp -r html/. pages/. (cd pages; git add -A) -(cd pages; git commit -m "Update $$(date +%Y%m%d%H%M%S)") (cd pages; git push origin gh-pages) rm -rf pages git push origin gh-pages