OBJ=linkedlist.o SRC=$(OBJ:.o=.c) HDR=$(SRC:.c=.h) TST=$(SRC:.c=.test.c) TSTBIN=$(TST:.test.c=.test) CFLAGS+=-Wall CFLAGS+=-Wextra all: $(OBJ) .PHONY: all test: $(TSTBIN) .PHONY: test clean: $(RM) $(OBJ) $(TSTBIN) %.o: %.c %.h $(CC) -o $@ -c $< $(CFLAGS) $(TSTBIN): $(TST) $(OBJ) $(CC) -o $@ $(@:=.c) $(@:.test=.c) $(CFLAGS) ./$@