Browse Source

add friendly dep notice and help message

pull/6/head
Ben Harris 2 years ago
parent
commit
fc00bf78b3
  1. 36
      Makefile

36
Makefile

@ -1,12 +1,32 @@
# customizable output dir
DEST_DIR ?= dist
# find all issues and determine required output files
ISSUES != find . -path "./issues/*" -type d
DEST_PDF_FILES := $(ISSUES:./issues/%=$(DEST_DIR)/issue-%.pdf)
DEST_HTML_FILES := $(ISSUES:./issues/%=$(DEST_DIR)/issue-%.html)
DEST_EPUB_FILES := $(ISSUES:./issues/%=$(DEST_DIR)/issue-%.epub)
# deps
PANDOC != command -v pandoc 2> /dev/null
XELATEX != command -v xelatex 2> /dev/null
# default target
help:
@echo "Targets:"
@echo -e "\tall - build all formats"
@echo -e "\tpdf - generate all issues as pdf"
@echo -e "\thtml - generate all issues as html"
@echo -e "\tepub - generate all issues as epub"
@echo -e "\tclean - remove build artifacts"
all: pdf html epub dep-pandoc
pdf: $(DEST_PDF_FILES) dep-xelatex
all: $(DEST_PDF_FILES) $(DEST_HTML_FILES) $(DEST_EPUB_FILES)
html: $(DEST_HTML_FILES)
epub: $(DEST_EPUB_FILES)
$(DEST_DIR)/issue-%.pdf: issues/%
@echo "building $@"
@ -54,7 +74,17 @@ $(DEST_DIR)/issue-%.epub: issues/%
clean:
@echo "removing build artifacts"
@rm $(DEST_PDF_FILES) $(DEST_HTML_FILES) $(DEST_EPUB_FILES)
@rm $(DEST_DIR)/*.{pdf,html,epub}
dep-pandoc:
ifndef PANDOC
$(error missing dependency 'pandoc'. please install and try again)
endif
dep-xelatex:
ifndef XELATEX
$(error missing dependency 'xelatex'. please install and try again)
endif
.PHONY: clean
.PHONY: clean help dep-pandoc dep-xelatex
Loading…
Cancel
Save