如何解决Makefile获取调用规则名称
我正在尝试创建一个makefile,因此在调用它时语法为make release
或make debug
。
为此,我编写了以下makefile:
release debug: mode := $@
release debug: build
build:
*** actual build commands using $(mode) ***
但是在制作过程中,当达到build
规则时,$(mode)
似乎是空的。
是否有更好/适当的构建调试和发布二进制文件?
解决方法
“ $ @”自动变量仅在构建目标时可用。评估规则时,它没有值。结果,在执行该行期间未设置“ $ @”:
release debug: mode := $@
考虑为“构建”和“发布”设置规则
release debug:
$(MAKE) build mode=$@
build:
或替代方法(我认为这不太直观,但效率更高):
release: mode=release
debug: mode=debug
build:
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。