我在Makefile中看到许多规则如下:
$(PATH)/foo.inc:;
include $(PATH)/foo.inc
$(PATH)/bar.inc:;
include $(PATH)/bar.inc
规则定义末尾的分号是无操作还是具有特定含义?
答案 0 :(得分:16)
具有target-prerequisite的行上的分号是为此规则执行的第一个命令行,至少在GNU make中。
从手册第5章开始:
规则的命令由要执行的shell命令行组成 逐一。每个命令行必须以制表符开头,除了 第一个命令行可以附加到目标和先决条件 两行之间用分号排列。
在你的情况下,因为在分号之后没有命令,所以它最终成为无操作。