我在理解以下 gmake 语法时遇到了一些问题:
OBJ = foo.o bar.o
$(OBJ): %.o: %.cpp
$(CC) -c -MMD -MP $(INCLUDES) $(CFLAGS) $< -o $@
@sed (...create empty targets in file...)
我不确定 $(...): %.o: %.cpp 的作用是什么!?
我认为它可能会将“%.o: %.cpp”翻译为正确的 %.cpp 依赖项 - 是吗?谷歌在这里并没有多大帮助——它只找到了通常的双冒号(目标::),这是不同的!
有什么建议吗?谢谢!
这是一个静态模式规则 http://www.gnu.org/software/make/manual/make.html#Static-Pattern.
$(OBJ)
是一个目标列表。这%.o : %.cpp
表示“对于列表中匹配的每个目标%.o
,它取决于%.cpp
“(其中%
相应地被替换)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)