TMPDIR ?= _tmp BUILDDIR ?= _build PAGESDIR ?= pages DATADIR ?= data TEMPLATE ?= $(DATADIR)/template.html PAGES != find $(PAGESDIR) -name '*.md' OUTPUTPAGES = $(patsubst $(PAGESDIR)/%.md,$(BUILDDIR)/%.html,$(PAGES)) STYLE != find style -type f OUTPUTSTYLE = $(patsubst %,$(BUILDDIR)/%,$(STYLE)) OUTPUT = $(OUTPUTPAGES) $(OUTPUTSTYLE) LANGFILTER = $(TMPDIR)/langfilter EXECS = $(LANGFILTER) .PHONY: all all: build .PHONY: build build: $(OUTPUT) $(BUILDDIR)/%.html: $(PAGESDIR)/%.md $(TEMPLATE) $(LANGFILTER) mkdir -p $(dir $@) pandoc -s --toc --template $(TEMPLATE) --filter $(LANGFILTER) -o $@ $< $(BUILDDIR)/%: % mkdir -p $(dir $@) cp $< $@ $(LANGFILTER): langfilter/*.hs langfilter/langfilter.cabal mkdir -p $(dir $@) cabal build -v0 all find dist-newstyle -name $(notdir $@) \ -print -type f -exec cp {} $(TMPDIR) \; .PHONY: clean distclean clean: rm -rf $(BUILDDIR) distclean: clean rm -rf $(TMPDIR)