src := $(wildcard *.c)
obj := $(patsubst %.c,%.o,$(src))
deps := $(patsubst %,%.d,$(src))

a.out: $(obj)
        $(CC) $^ $(LDFLAGS)

%.o: %.c
        $(CC) -c $(CPPFLAGS) $(CFLAGS) -MT $@ -MMD -MF $<.d $<

.PHONY: clean
clean:
        $(RM) a.out $(obj) $(deps)


-include $(deps)
