我试图了解如何在给定链接中的 makefile 中生成自动依赖关系,但我无法理解以下代码:
DEPDIR = .deps
df = $(DEPDIR)/$(*F)
SRCS = foo.c bar.c ...
%.o : %.c
@$(MAKEDEPEND); \
cp $(df).d $(df).P; \
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $(df).d >> $(df).P; \
rm -f $(df).d
$(COMPILE.c) -o $@ $<
-include $(SRCS:%.c=$(DEPDIR)/%.P)
我从这个链接得到它。我知道它会生成依赖文件,但我无法理解这一行的作用:
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $(df).d >> $(df).P; \
有人可以解释一下这段代码吗,这么多通配符给了我蝴蝶,我是makefile的新手。