在rtthread源码中,每一个bsp芯片板级目录下都有一个 SConstruct scons构建脚本的入口,
在这里把rtthread tools/目录下的所有模块都添加到了系统路径中:
在tools下所有模块中,最重要的是building.py模块,在此脚本里面调用了函数 PrepareBuilding,提前准备执行构建前的环境:
从上面代码中,可以看出在building.py模块中,打开了rtconfig.h头文件,且open打开时传入的路径是相对当前SConstruct在同一路径下。因此在使用scons构建时,必须把 SConstruct、rtconfig.h放在同一级目录下。
注意:如果有其他宏定义放入其他头文件中,需要在rtconfig.h中包含此头文件,以便于scons构建时,GetPend等可以找到此宏定义的依赖,比如:
fmtconfig.h也必须和rtconfig.h在同一级目录下,或者包含fmtconfig头文件前面加上绝对路径。
同时,scons构建生成的*.o目标文件,放在当前目录下的build/目录: