2
    .PHONY: all all-before all-after clean clean-custom

    all: all-before ../Flock.exe all-after

由于它在 .PHONY 中,它必须是 Makefile 关键字,但我不知道它是什么意思,甚至不知道它的作用。

4

3 回答 3

2

它们不是关键字,它们指的是命名的规则,all-before因此all-after前者在构建可执行文件之前被调用,而后者在之后被调用。.PHONY 中提到了它们,因为它们不是文件名。

不好的例子:

all: all-before binary all-after

binary:
  gcc input.c -o binary

all-before:
  -mkdir bin

all-after:
  -cp binary bin
于 2012-08-17T20:51:16.573 回答
0

我不认为这是一个 makefile 关键字。它可能是在 makefile 中其他地方定义的另一个目标的名称(但如果没有更多文件上下文,我无法确定)。

于 2012-08-17T20:49:54.163 回答
0

它们只是完成定制的预插入目标。查看添加到 makefile 的代码并使用修改后的 makefile.win

正在处理生成文件...

  • Makefile 处理器:C:\Program Files (x86)\Dev-Cpp\MinGW32\bin\mingw32-make.exe
  • 命令: mingw32-make.exe -f "MakefileMy.win" ----> 在 .PHONY 下面添加行: all-before all-after clean clean-custom

all-before: @echo "所有之前"

all-after: @echo "all-after done"

全部:全部之前 $(BIN) 全部之后

--> Windows 10 机器上来自 DevC 的部分 compile.log 文件:

所有“所有之前”“所有之后”

编译结果...

  • 错误:0
  • 警告:0
于 2018-10-08T12:52:36.300 回答