SHELL := /bin/sh CC := c99 CFLAGS := -g -Werror -Wall -pedantic SRCDIR := ./src SRCS := $(shell find . -name '*.c') OBJS := $(SRCS:.c=.o) DEPS := $(OBJS:.o=.d) TARGET := sm .POSIX: .PHONY: all clean all: $(TARGET) %.d: %.c @$(CC) -MM $(CPPFLAGS) $< > $@ %.o: %.c %.d @$(CC) $(CFLAGS) -c -o $@ $< @printf 'CC\t%s\n' '$@' -include $(DEPS) $(TARGET): $(OBJS) @$(CC) $(CFLAGS) $(OBJS) -o $@ @printf 'CCLD\t%s\n' '$@' clean: $(RM) $(TARGET) $(RM) $(OBJS) $(DEPS)