RT-Thread通过Scons新建工程时保留自己建立的文件夹和文件
目的:由于RT-Thread通过Scons新建工程时,会把工程内自己添加的文件夹删除,导致每次需要从新添加一次,为了避免这种情形,参考Scons实现的过程,实现自己建立的文件夹也自动添加到工程内。
步骤:
1. 新建一个文件夹,名称比如:WebServer;
2. 从RT_Thread源码下的其他文件夹下复制一个叫做 SConscript 的文件到新建的文件夹下;
3. 打开SConscript 文件,本人使用的是PyCharm工具打开的,修改代码如下:
from building import *
# The set of source files associated with this SConscript file.
# 这里添加本文件夹下,需要添加到工程内的源文件
src = Split('''
fs.c
httpd.c
httpd_cgi_ssi.c
''')
# 通过下面的语句,可以使工程内头文件的包含时,自动包含本文件夹下的头文件
cwd = GetCurrentDir()
CPPPATH = [cwd]
#参数说明:WebServer是本文件夹的名称,如果定义了RT_LWIP_TCP宏则包含本文件夹
group = DefineGroup('WebServer', src, depend = ['RT_LWIP_TCP'], CPPPATH = CPPPATH)
if GetDepend('RT_LWIP_TCP'):
# search in the file system implementation
list = os.listdir(cwd)
for item in list:
if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
group = group + SConscript(os.path.join(item, 'SConscript'))
Return('group')
4. 保存,如此,通过Scons再次生成工程时,工程内就会有WebServer,以及包含添加的源文件。