1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
SRCS = $(wildcard src/*.c) BINS = $(patsubst src/%.c,bin/%,$(SRCS)) CFLAGS = CC = gcc $(CFLAGS) all: build build: $(BINS) .SECONDEXPANSION: $(BINS): $$(patsubst bin/%,src/%.c,$$@) @mkdir -pv bin $(CC) -o $@ $(patsubst bin/%,src/%.c,$@) clean: rm -f $(BINS) rmdir bin