Files
args/Makefile

50 lines
700 B
Makefile

.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/ build/$(NAME)
build/$(NAME): src/main.c $(HEADERS)
cc -o $@ $<
define PREFIX
ifeq $(UID) 0
/usr/local
else
$(HOME)/.local
endif
endef
install:
install -CDm0755 -t $(PREFIX)/bin/ build/$(NAME)
install -CDm0644 -t $(PREFIX)/share/man/man1 build/$(NAME)
test:
$(error testing using `make' not supported; use `just')
docs:
make $(strip $(DOCS))
build/man/%: docs/%.md build/man/ docs/
pandoc --to man \
--standalone \
--output $@ \
$<
%/:
@mkdir -p $@