给Makefile添加注释

21

如何在 Makefile 中添加注释(使用echo),以便在运行时打印出来?

6个回答

32

你应该使用

target:
     @echo "Building!"

注意@符号,它告诉Make不要显示命令本身。如果没有它,输出将会是这样的:

echo "Building!"
Building!

10

另外,由于Make只是将规则中的所有内容推送到bash中,因此您可以使用#号让bash将其视为注释。

Rule:  Dependencies
    # Your Comment
    Command

将输出

$ make Rule
    # Your Comment
    Command

4
如何进行相反的操作?在 makefile 中加入注释但不打印出来怎么做? - knocte
4
最终我向它提出了这个问题:https://dev59.com/0mMl5IYBdhLWcg3we3Do#18363477?noredirect=1#18363477 - knocte
2
@knocte 你可以在 # 前面使用 @ - mems
1
在我看来,这应该是被接受的答案。它更易读,并且产生与“@echo“...”完全相同的结果。 - sylbru

2
all :
    echo "Building!"
    $(CC) $(OBJECTS) $(LPATH) $(LIBS) -o $(PROGRAM)

2

由于makefile主要包含在构建特定目标时运行的命令,因此我建议您只使用echo命令。


2

Visual C++ nmake有 !message text... 预处理指令。我没有使用过GNU make,所以不知道它是否也有此功能,但快速搜索显示它有 $(info text...) 函数。

在命令块内部,可以使用 echo 命令。


1

一个不完美但简单的解决方法是在目标外添加您的注释:

Rule:  Dependencies
    Command
# Your Comment

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接