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