GNU做双冒号

扫码查看
本文介绍了GNU做双冒号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对gmake语法的理解有点问题:

I've got a little problem understanding following gmake syntax:

OBJ = foo.o bar.o

$(OBJ): %.o: %.cpp
    $(CC) -c -MMD -MP $(INCLUDES) $(CFLAGS) $< -o $@
    @sed (...create empty targets in file...)

我不知道什么$(...):%.o:%.cpp!

I'm not sure what $(...): %.o: %.cpp does!?

我认为它可能会将%.o:%.cpp翻译成正确的%.cpp依赖项 - 是吗?谷歌在这里不是一个帮助 - 它找到只是通常的双冒号(目标::)这是不同的!

I think it might translate the "%.o: %.cpp" in correct %.cpp dependencies - does it? Google is not much of a help here - it finds just the usual double colon (target::) which is something different!

任何建议?感谢!

推荐答案

这是一个。

$(OBJ) 是目标列表。 %。o:%.cpp 表示对于列表中与%,o 匹配的每个目标,依赖于%。cpp (其中被相应替换)。

$(OBJ) is a list of targets. The %.o : %.cpp means "for each target in the list that matches %.o, it is dependent on %.cpp" (where the % is substituted accordingly).

这篇关于GNU做双冒号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 18:08
查看更多