【发布时间】:2015-06-05 15:05:51
【问题描述】:
我试图了解在给定链接中的 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)
我是从this link. 得到的,我知道它会生成依赖文件,但我无法理解这一行的作用:
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $(df).d >> $(df).P; \
有人可以解释一下这段代码吗,这么多通配符让我很困惑,我是 makefile 的新手。
【问题讨论】:
标签: gnu-make makefile multiple-makefiles