build: $(patsubst src/%.md, out/%.html, $(shell find src -type f)) \ $(patsubst static/%, out/%, $(shell find static -type f)) \ $(patsubst src/%, out/%, $(shell find src -type f ! -name "*.md")) serve: xdg-open http://localhost:8000/ python3 -m http.server -d out/ watch: find . -type f ! -path "./out/*" | entr make build out/%.html: src/%.md template.html template.pl @mkdir -p $(dir $@) ./template.pl $< > $@ out/%: static/% @mkdir -p $(dir $@) cp $< $@ compress: build # for gzip-static, check the openbsd httpd.conf(5) man page # grep -Il skips binary files find out/ -type f -exec grep -Il . {} \; \ -exec gzip -k {} \; publish: compress build rsync -rcvP --delete out/ \ lemurianmage@slimegirl.nexus:/var/www/htdocs/slimegirl.nexus clean: rm -r out/ .PHONY: build serve watch compress publish clean