if-statement - Makefile:存储“make”之后的参数(即第二个命令行参数)不起作用
问题描述
我正在尝试将命令行中传递的第二个参数(即 之后的参数make
)存储在一个名为 的变量NAME
中,然后用它来做一些事情。如果没有第二个参数,那么NAME = a
。
为什么它不起作用?
这是我的一个片段Makefile
:
NAME := $(shell $2)
ifeq ($(strip $(NAME)),)
$(NAME) = a
endif
# ... and do other things with NAME
它给了我这个错误:
*** empty variable name. Stop
解决方案
您不能$1
在make
.
的参数make
是目标或选项,不能用$1
.
该命令make foo
指示make
创建foo
目标。如果您想传递参数,您可以使用make param=foo
并且可以在变量中访问Makefile
(${param}
使用 value foo
)。
推荐阅读
- python - 如何让 Popen 等待命令完成?
- google-apps-script - Google表格:根据单元格值将行移动到其他表格,然后再次返回
- python - 如何解决“无法区分 wrt 类型
" 在 python 中使用 autograd 时出错 - java - CN1:更改选项卡中内容的背景颜色
- r - 在 r 中使用 group_by 函数后如何选择最小值或删除重复项
- java - 试图通过java检索灵活搜索的列标题
- python-2.7 - 向 pyqtgraph 动态图添加标记
- c++ - 如何#include作为函数参数的字符串?c ++
- ruby - 区分“真实”头像图像和直接从 Jira url 提取的“断开链接”图像
- android - 尝试使用百度地图获取位置时应用程序崩溃