, . -MD Makefile -include myfile.d Makefile ( *.d). , , *.d (, *.o) , make, .
. , , Makefile, , , , , , Makefile.
, gcc -MD -I. -c myfile.cpp -o obj/myfile.o, Makefile foo: myfile.cpp myfile.h.
, :
SRCS = myfile.cpp myfile2.cpp
OBJS = $(SRCS:%.cpp=%.o)
FULLOBJS = $(addprefix obj/,$(OBJS))
$(FULLOBJS): obj/%.o:%.cpp
gcc -MD -I. -c %< -o $@
foo: $(FULLOBJS)
g++ -o $@ $(FULLOBJS)
.PHONY: clean
clean:
-rm -rf $(FULLOBJS) foo $(FULLOBJS:%.o=%.d)
-include $(FULLOBJS:%.o=%.d)