Make:访问参数标志
Make: access argument flags
如果我有一个,例如,我编译的 dbg 可执行文件:
make dbg
//outputs: my_exe-dbg
并且我对 makefile 进行了编辑,然后我想重新运行 make dbg
。然而, my_exe-dbg
的存在阻止了 make 做任何事情。
我想写:
make dbg -f
编译并替换可执行文件。如果我写:
make dbg -fr
它将编译并替换所有内容(r
表示 "executable")。我将如何在 makefile 中检查标志及其原因?
是否有用于捕获或定义要查找的标志的变量或内置机制?
是否有检测这些破折号标志的解决方法?
您可以调用 make(至少是 GNU make,不确定它的可移植性如何)作为
make -B dbg
这会禁用时间戳检查并始终构建所有内容。每个目标的解决方法可以改为
dbg-f: # dependencies only if referred to by $< below
# command to build dbg
.PHONY: dbg-f
这样可以通过
强制编译
make dbg-f
而
make dbg
像以前一样工作并检查依赖项及其时间戳。
如果我有一个,例如,我编译的 dbg 可执行文件:
make dbg
//outputs: my_exe-dbg
并且我对 makefile 进行了编辑,然后我想重新运行 make dbg
。然而, my_exe-dbg
的存在阻止了 make 做任何事情。
我想写:
make dbg -f
编译并替换可执行文件。如果我写:
make dbg -fr
它将编译并替换所有内容(r
表示 "executable")。我将如何在 makefile 中检查标志及其原因?
是否有用于捕获或定义要查找的标志的变量或内置机制?
是否有检测这些破折号标志的解决方法?
您可以调用 make(至少是 GNU make,不确定它的可移植性如何)作为
make -B dbg
这会禁用时间戳检查并始终构建所有内容。每个目标的解决方法可以改为
dbg-f: # dependencies only if referred to by $< below
# command to build dbg
.PHONY: dbg-f
这样可以通过
强制编译make dbg-f
而
make dbg
像以前一样工作并检查依赖项及其时间戳。