pages_src = $(filter-out template.html,$(wildcard *.html)) pages = $(foreach p,$(pages_src),public/$(p)) sheets = $(wildcard *.css) images = $(wildcard *.svg) feeds = $(wildcard *.xml) resources_src = $(sheets) $(images) $(feeds) resources = $(foreach f,$(resources_src),public/$(f)) .PHONY: all clean site all: site site: $(pages) $(resources) public: mkdir $@ $(resources): public/%: % | public cp $< $@ # TODO: optional dependency to .sh template parameters. $(pages): public/%.html: %.html | public ./build.sh $< $@ clean: -rm -r public