.POSIX: .PHONY: build docs NAME := args ifneq "$(wildcard src/*.h)" '' HEADERS = $(wildcard src/*.h) endif define DOCS $(subst docs/, build/man/, $(patsubst %.md, %, $(wildcard docs/*.md) ) ) endef build: build/ $(NAME) $(NAME): src/main.c $(HEADERS) cc -o $(NAME) $^ test: $(error testing using `make' not supported; use `just') docs: make $(strip $(DOCS)) build/man/%: docs/%.md build/man/ docs/ pandoc --from markdown --to man \ $< $@ %/: @mkdir -p $@