如何通过命令行在Makefile中取消定义变量

mis*_*ink 11 command-line makefile

我想通过传递命令来从Makefile中取消定义变量.这可能吗?男人做的并没有那么大帮助.

我想做的事情如下:

我想用FreeBSD编译一个端口.此端口标记为broken.虽然我没有更改Makefile的权限,但我正在寻找取消定义的可能性broken?变量.

编辑:在Makefile中:

BROKEN=                 does not link
Run Code Online (Sandbox Code Playgroud)

而且我想取消/取消定义.因为Makefile没有进一步执行.到目前为止,这与编译器标志无关.

jam*_*jam 0

不确定您使用的是什么编译器(我知道最近的 BSD 默认使用 clang),但使用 gcc 您可以使用 .undefine 以前定义的符号-U

编辑:显然我误读了你的问题。那么您想要的是相当于 make variable=X,它将取消定义而不是设置值?我不相信这是可能的。

如果您无法修改现有的 makefile,您可以制作自己的副本并make使用该文件进行调用吗?