繁体   English   中英

make工具中的变量声明

[英]Variable declaration in make tools

让我们有一个简单的make-file

default:
    $(CC) $(FLAGS) $(TARGET) $(TARGET).c

CC=gcc
FLAG= -o
TARGET=binary

那么,变量CCFLAGTARGET是否将添加到make工具的环境变量数组中,或者该变量不依赖make的变量环境?

我不确定您在这里到底要问什么,但是:make维护自己的变量集,这些变量与“环境变量”(在环境变量的标准系统定义中)完全分开。 当make扩展变量(例如$(CC) )时,它将使用其“ make变量”(而非“环境变量”)集中的值。

当make启动时,它将所有环境变量导入为“ make变量”,以便可以通过常规make变量扩展对其进行访问。

如果更改也是环境一部分的make变量的值,则环境中的值也会更改。 同样,当您使用export关键字(在GNU make中)时,make也会将该变量也放入环境中。

当make运行程序时,它将环境变量而不是make变量传递给正在运行的程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM