导出后的这些变量可以被其他文件使用,我们称这种变量为环境变量,环境变量相当于C中的全局变量,环境变量一般用大写字母表示。
小插曲①:
什么是静默编译?
平时编译时命令行会打印出来很多编译信息,有时候我们不希望看到这些编译信息,即后台编译即可,就叫静默编译;
静默编译的使用方法:
编译时 make -s,-s会作为MAKEFLAGS传给Makefile;其中MAKEFLALGS是个变量,
‘-s’和‘-k’标志通过变量MAKEFLAGS自动传递给子make。该变量由make自动建立,并包含make收到的标志字母。所以,如果用‘make –ks’变量MAKEFLAGS就得到值‘ks’。
上面截图中的50行中就是从变量MAKEFLAGS中寻找s,如果找到了就执行非静默编译。
小插曲②:
uboot的两种编译方法(原地编译和单独输出文件夹编译)
(1)编译复杂项目,Makefile提供两种编译管理方法,默认情况下是当前文件夹中的 .c文件和编译生成的 .o文件会放在同一文件夹下,这种方式叫原地编译。原地编译的坏处:污染了原文件目录;
(2)为了解决原地编译的缺点,uboot支持单独输出文件夹方式的编译:即在编译时另外指定一个输出目录,将所有的生成的.o文件或生成的其他文件全部丢到那个输出目录中。
(3)默认是原地编译,要指定具体的输出目录编译有两种方式来指定输出目录;
第一种:make O=输出目录;
第二种:export BUILD_DIR(表示uboot的编译路径)=输出目录,然后在make,如果两种都指定了,则O=xx这种具有更高的优先级。具体细节如下截图: