MAKEFLAGS += -j1 # Default target all: out/index.html .PHONY: all # For real files, just let the ./make script take care of it. $(sort out/index.html $(MAKECMDGOALS)): FORCE ./make # Development server serve: serve-8000 serve-%: all dir=$$(mktemp -d -t) && trap 'fusermount -u "$$dir"; rmdir "$$dir"' EXIT && unionfs -o ro out:src "$$dir" && (cd "$$dir" && python3 -m http.server $*) .PHONY: serve serve-% # Clean clean: rm -rf out .PHONY: clean # Boilerplate .PHONY: FORCE .DELETE_ON_ERROR: .SECONDARY: