Makefile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. DST_DIR := ./_dst
  2. PUBLISH_DIR := ./_publish
  3. DOCSET_TMP_DIR := ./_docset_tmp
  4. DOCSET_DST_DIR := ./Elvish.docset
  5. MDS := home.md $(filter-out %/README.md,$(wildcard [^_]*/*.md))
  6. HTMLS := $(MDS:.md=.html)
  7. # Generates the website into $(DST_DIR).
  8. gen: tools/gensite.bin $(HTMLS)
  9. tools/gensite.bin . $(DST_DIR)
  10. ln -sf `pwd`/fonts `pwd`/favicons/* $(DST_DIR)/
  11. # Generates docset into $(DOCSET_DST_DIR).
  12. docset: tools/gensite.bin $(HTMLS)
  13. ELVISH_DOCSET_MODE=1 tools/gensite.bin . $(DOCSET_TMP_DIR)
  14. tools/mkdocset $(DOCSET_TMP_DIR) $(DOCSET_DST_DIR)
  15. # Synchronizes the generated website into $(PUBLISH_DIR), which is passed to
  16. # rsync and can be a remote place.
  17. publish: gen
  18. rsync -aLv --delete ./_dst/ $(PUBLISH_DIR)/
  19. check-rellinks: gen
  20. python3 tools/check-rellinks.py $(DST_DIR)
  21. clean:
  22. rm -rf tools/*.bin $(HTMLS) $(DST_DIR) $(DOCSET_TMP_DIR) $(DOCSET_DST_DIR)
  23. ifdef TTYSHOT
  24. %.ttyshot.html: %.ttyshot tools/ttyshot.bin
  25. tools/ttyshot.bin $(if $(findstring verbose,$(TTYSHOT)),-v,) -o $@ $<
  26. else
  27. %.ttyshot.html:
  28. @: ttyshot generation disabled by default
  29. endif
  30. .PHONY: gen docset publish check-rellinks clean
  31. # Don't remove intermediate targets
  32. .SECONDARY:
  33. .SECONDEXPANSION:
  34. tools/%.bin: cmd/% $$(wildcard cmd/%/*)
  35. go build -o $@ ./$<
  36. %.html: %.md tools/macros.bin tools/elvdoc.bin tools/highlight.bin tools/md2html.bin $$(shell tools/extra-deps $$@)
  37. tools/macros.bin -repo .. -elvdoc tools/elvdoc.bin < $< | tools/highlight.bin | tools/md2html.bin > $@