files := $(wildcard *.lisp) names := $(files:.lisp=) .PHONY: all clean $(names) all: $(names) $(binaries): $: bin/% $(manuals): %: man/man1/%.1 $(names): %: bin/% man/man1/%.1 bin/%: %.lisp build-binary.sh Makefile mkdir -p bin ./build-binary.sh $< mv $(@F) bin/ man/man1/%.1: %.lisp build-manual.sh Makefile mkdir -p man/man1 ./build-manual.sh $< mv $(@F) man/man1/ install: $(names) sudo cp -p bin/* /usr/local/bin sudo mkdir -p /usr/local/man/man1 sudo cp -rp man/* /usr/local/man/ clean: rm -rf bin man *.fasl