SRC = $(wildcard *.c) OBJS = $(SRC:.c=.o) DEPS = $(OBJS:.o=.d) all: proggie @echo $(OBJS) proggie: $(OBJS) gcc $(OBJS) -o proggie %.d: %.c gcc -MM $(CFLAGS) $< >$(@)i; \ sed 's,\($*\)\.o[ ]*:,\1.o $@ : ,g' <$(@)i >$@; \ rm $(@)i -include $(DEPS) %.o: %.c gcc -c $(CFLAGS) $*.c -o $*.o #gcc -MM $(CFLAGS) $*.c > $*.d clean: rm -f proggie *.o *.d *di