src := content cache := .cache www_root := _site www := $(www_root)/posts post_index := $(www_root)/posts.html feed := $(www_root)/feed.xml post_compiler := src/webcc.ml builddir := _build/default POSTCC := $(builddir)/$(patsubst %.ml,%.exe,$(post_compiler)) INDEXCC := $(POSTCC) -i FEEDCC := $(POSTCC) -a post-sources := $(shell find $(src)/ -type f) post-htmls := $(patsubst $(src)/%.md,$(www)/%.html,$(post-sources)) .PHONY: all serve clean $(POSTCC) all: $(POSTCC) $(post-htmls) $(post_index) $(feed) $(www_root)/static cp -R ~/www/* $(www_root) $(www): mkdir -p $(www) $(www)/%.html: $(src)/%.md $(www) $(POSTCC) $< -o $@ $(post_index): $(post-sources) $(INDEXCC) $^ -o $@ $(feed): $(post-sources) $(FEEDCC) $^ -o $@ $(www_root)/static: static cp -R static $(www_root) $(POSTCC): $(post_compiler) dune build clean: rm -fr $(www_root) serve: cd $(www_root) && python -m SimpleHTTPServer