了解 make 命令如何使用环境变量
make 命令每次运行时,它都将读取当前的环境变量并将它们添加到其已定义的宏中。
通过使用 MAKEFLAGS 宏或 MFLAGS 宏,用户可以指定要传递到 make 命令的标志。 如果两者均已设置,那么 MAKEFLAGS 宏将覆盖 MFLAGS 宏。 使用这些变量的指定标记将与所有命令行选项一起被传递给 make 命令。 在递归调用 make 命令的情况下,通过在描述文件中使用 $(MAKE) 宏,make 命令将在每次调用时传递所有的标记。
当 make 命令运行时,它将按照下面的顺序指定宏定义:
- 读取 MAKEFLAGS 环境变量。
如果 MAKEFLAGS 环境变量不存在或者为 null,那么 make 命令将检查 MFLAGS 环境变量中是否有非空值。 如果这些变量中的一个有值,那么 make 命令假定值中的每一个字母为输入标记。 make 命令使用这些标记(除了不能从 MAKEFLAGS 或者 MFLAGS 环境变量中设置的 -f、-p 和 -d 标记)确定其操作条件。
- 从命令行读取并设置输入标记。 命令行从 MAKEFLAGS 或者 MFLAGS 环境变量添加到先前的设置。
- 从命令行读取宏定义。 make 命令忽略这些名称的任何进一步赋值。
- 读取内部宏定义。
- 读取环境。 make 命令将环境变量视为宏定义,并将它们传递到其他 shell 程序。