SRCS:=$(wildcard src/*.c) HDRS:=$(wildcard src/*.h) BINS:=$(subst src/,,$(patsubst %.c, %, ${SRCS})) all: ${BINS} ${BINS}: %: src/%.c ${HDRS} cc -Wall -Werror -ansi -o $@ $< .PHONY: clean clean: rm -v ${BINS}