summaryrefslogtreecommitdiff
path: root/make/pandoc.mk
blob: a00cc5af9beb656883e6a726b14f20dae45ba6e0 (plain)
  1. title ?= $(shell sed -ne '1s/^% *//p' < $(metahintfile))
  2. author ?= $(shell sed -ne '2s/^% *//p' < $(metahintfile))
  3. creationdate ?= $(shell sed -ne '3s/^% *//p' < $(metahintfile))
  4. mdwnfiles = $(wildcard $(SRCDIR)/*.mdwn)
  5. dotfiles = $(wildcard $(SRCDIR)/*.dot)
  6. gvprfiles = $(wildcard $(SRCDIR)/*.g)
  7. pngdotfiles = $(dotfiles:$(SRCDIR)/%.dot=$(BUILDDIR)/%.png)
  8. gifdotfiles = $(dotfiles:$(SRCDIR)/%.dot=$(BUILDDIR)/%.gif)
  9. jpgdotfiles = $(dotfiles:$(SRCDIR)/%.dot=$(BUILDDIR)/%.jpg)
  10. svgdotfiles = $(dotfiles:$(SRCDIR)/%.dot=$(BUILDDIR)/%.svg)
  11. epsdotfiles = $(dotfiles:$(SRCDIR)/%.dot=$(BUILDDIR)/%.eps)
  12. pdfdotfiles = $(dotfiles:$(SRCDIR)/%.dot=$(BUILDDIR)/%.pdf)
  13. pnggvprfiles = $(gvprfiles:$(SRCDIR)/%.g=$(BUILDDIR)/%.png)
  14. gifgvprfiles = $(gvprfiles:$(SRCDIR)/%.g=$(BUILDDIR)/%.gif)
  15. jpggvprfiles = $(gvprfiles:$(SRCDIR)/%.g=$(BUILDDIR)/%.jpg)
  16. svggvprfiles = $(gvprfiles:$(SRCDIR)/%.g=$(BUILDDIR)/%.svg)
  17. epsgvprfiles = $(gvprfiles:$(SRCDIR)/%.g=$(BUILDDIR)/%.eps)
  18. pdfgvprfiles = $(gvprfiles:$(SRCDIR)/%.g=$(BUILDDIR)/%.pdf)
  19. htmlimgfiles += $(gifgvprfiles) $(gifdotfiles)
  20. pdfimgfiles += $(pdfgvprfiles) $(pdfdotfiles)
  21. infiles = $(wildcard $(SRCDIR)/*.in)
  22. genfiles = $(infiles:$(SRCDIR)/%.in=$(BUILDDIR)/%)
  23. maybecopyfiles = $(htmlcopyfiles) $(pdfcopyfiles) $(javacopyfiles)
  24. streq = $(if $(filter-out xx,x$(subst $1,,$2)$(subst $2,,$1)x),,yes)
  25. copyfiles = $(if $(call streq,$(STATICSRCDIR),$(BUILDDIR)),,$(maybecopyfiles))
  26. installfiles += $(s5) $(htmlreports) $(htmlimgfiles) $(htmlcopyfiles)
  27. installfiles += $(pdfreports)
  28. installfiles += $(javacopyfiles)
  29. installfiles += $(extrafiles)
  30. noinstallfiles = $(filter-out $(extrafiles),$(pdfimgfiles))
  31. $(htmlreports):: $(reportfiles) $(htmlimgfiles) $(htmlcopyfiles)
  32. pandoc --to=html --smart --standalone --toc --output=$@ $(reportfiles)
  33. $(pdfreports):: $(BUILDDIR)/header.tex $(reportfiles) $(pdfimgfiles) $(pdfcopyfiles)
  34. for f in $(reportfiles); do cat $$f; echo; done \
  35. | sed 's,\([a-z0-9-]*\.\)\(gif\|png\),$(BUILDDIR)\/\1pdf,g;s,\./,,g' \
  36. | xmarkdown2pdf --toc -C $(BUILDDIR)/header.tex --output=$@
  37. $(s5):: $(s5file) $(htmlimgfiles) $(htmlcopyfiles)
  38. pandoc --to=s5 --smart --standalone $(s5opts) --output=$@ $(s5file)
  39. $(pngdotfiles):: $(BUILDDIR)/%.png: $(SRCDIR)/%.dot
  40. dot -Tdot $< | gvpr -c '' | dot -Tpng:cairo -o $@
  41. optipng -q $@
  42. $(gifdotfiles):: $(BUILDDIR)/%.gif: $(SRCDIR)/%.dot
  43. dot -Tdot $< | gvpr -c '' | dot -Tgif:cairo -o $@
  44. $(jpgdotfiles):: $(BUILDDIR)/%.jpg: $(SRCDIR)/%.dot
  45. dot -Tdot $< | gvpr -c '' | dot -Tjpg:cairo -o $@
  46. $(svgdotfiles):: $(BUILDDIR)/%.svg: $(SRCDIR)/%.dot
  47. dot -Tdot $< | gvpr -c '' | dot -Tsvg:cairo -o $@
  48. $(epsdotfiles):: $(BUILDDIR)/%.eps: $(SRCDIR)/%.dot
  49. dot -Tdot $< | gvpr -c '' | dot -Teps:lasi -o $@
  50. $(pdfdotfiles):: $(BUILDDIR)/%.pdf: $(SRCDIR)/%.dot
  51. dot -Tdot $< | gvpr -c '' | dot -Tpdf -o $@
  52. # dot -Tdot $< | gvpr -c '' | dot -Tpdf -Gsize=3.8,3.8 -o $@
  53. # FIXME: depend on gvprdotfile (not all dotfiles)
  54. gvprdotfile = $(SRCDIR)/$(filter-out -%,$(subst -, -,$*)).dot
  55. $(pnggvprfiles):: $(BUILDDIR)/%.png: $(SRCDIR)/%.g $(dotfiles)
  56. dot -Tdot $(gvprdotfile) | gvpr -c -f $< | dot -Tpng:cairo -o $@
  57. optipng -q $@
  58. $(gifgvprfiles):: $(BUILDDIR)/%.gif: $(SRCDIR)/%.g $(dotfiles)
  59. dot -Tdot $(gvprdotfile) | gvpr -c -f $< | dot -Tgif:cairo -o $@
  60. $(jpggvprfiles):: $(BUILDDIR)/%.jpg: $(SRCDIR)/%.g $(dotfiles)
  61. dot -Tdot $(gvprdotfile) | gvpr -c -f $< | dot -Tjpg:cairo -o $@
  62. $(svggvprfiles):: $(BUILDDIR)/%.svg: $(SRCDIR)/%.g $(dotfiles)
  63. dot -Tdot $(gvprdotfile) | gvpr -c -f $< | dot -Tsvg:cairo -o $@
  64. $(epsgvprfiles):: $(BUILDDIR)/%.eps: $(SRCDIR)/%.g $(dotfiles)
  65. dot -Tdot $(gvprdotfile) | gvpr -c -f $< | dot -Teps:ps -o $@
  66. $(pdfgvprfiles):: $(BUILDDIR)/%.pdf: $(SRCDIR)/%.g $(dotfiles)
  67. dot -Tdot $(gvprdotfile) | gvpr -c -f $< | dot -Tpdf -o $@
  68. # dot -Tdot $(gvprdotfile) | gvpr -c -f $< | dot -Tpdf -Gsize=3.8,3.8 -o $@
  69. $(genfiles): $(BUILDDIR)/%: $(STATICSRCDIR)/%.in
  70. mkdir -p $(dir $@)
  71. sed -e 's/@title@/$(title)/g;s/@author@/$(author)/g;s/@subject@/$(subject)/g;s/@keywords@/$(keywords)/g;s/@creationdate@/$(creationdate)/g;' < $< > $@
  72. $(copyfiles): $(BUILDDIR)/%: $(STATICSRCDIR)/%
  73. mkdir -p $(dir $@)
  74. cp -af $< $@