src = $(wildcard src/*.c) obj = $(src:.c=.o) dep = $(obj:.o=.d) bin = csgray CFLAGS = -pedantic -Wall -g LDFLAGS = -lm $(bin): $(obj) $(CC) -o $@ $(obj) $(LDFLAGS) -include $(dep) %.d: %.c @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ .PHONY: clean clean: rm -f $(obj) $(bin) .PHONY: cleandep cleandep: rm -f $(dep)