From 6cfc82b3c6d61e0d28bb0d357ce90261bccfeb75 Mon Sep 17 00:00:00 2001 From: kevinnls Date: Wed, 14 Jan 2026 12:38:09 +0530 Subject: [PATCH] an overgeared makefile --- Makefile | 36 ++++++++++++++++++++++++++++++++++++ args.md => docs/args.1.md | 0 main.c => src/main.c | 0 3 files changed, 36 insertions(+) rename args.md => docs/args.1.md (100%) rename main.c => src/main.c (100%) diff --git a/Makefile b/Makefile index e69de29..5aa3180 100644 --- a/Makefile +++ b/Makefile @@ -0,0 +1,36 @@ +.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 $@ diff --git a/args.md b/docs/args.1.md similarity index 100% rename from args.md rename to docs/args.1.md diff --git a/main.c b/src/main.c similarity index 100% rename from main.c rename to src/main.c