【发布时间】:2020-04-25 16:58:15
【问题描述】:
我知道我可以通过两种方式将变量传递给 Makefile:
make <target> FOO=bar
export FOO=bar
make <target>
并且这两个都会使变量FOO在makefile中可用,其值为bar。
但是,有没有办法要求变量只来自命令行?我希望变量的传递是明确的,以避免环境变量的某些潜在重叠,所以我想确保make 只接收从命令行传递的变量,如果它只在环境中设置,则忽略它所以它使用的值必须由用户在调用make时定义。
编辑:在研究了更多之后,我意识到环境变量实际上并没有像我想象的那样被访问,它们实际上在 make 中使用为${FOO},只要我没有定义FOO在makefile 中的任何位置,其唯一的设置值将来自命令行(如this answer 中所述)。
【问题讨论】:
标签: makefile