pages = $(wildcard *.html) sheets = $(wildcard *.css) images = $(wildcard *.svg) feeds = $(wildcard *.xml) resources = $(pages) $(sheets) $(images) $(feeds) targets = $(foreach f,$(resources),public/$(f)) .PHONY: all clean site all: site site: $(targets) public: mkdir $@ $(targets): public/%: % | public cp $< $@ clean: rm -r public