概述
下面代码段包含:使用环境变量,打印,连接字符串,判断字符串相同,列出目录中所有文件,执行文件拷贝。
import('env')
env = env.Clone()
import os
from os.path import join,basename
from glob import glob
#用VariantDir表示生成文件应放在与源文件不同的目录中
env.VariantDir('${BUILDPATH}', SRCPATH, duplicate=0)
#调试打印
print " 1: " + str(env.has_key('MY_PLATFORM'))
#".upper()方法可以将字符串转为大写"
print " 2: " + env['MY_PLATFORM'].upper()
#用"join"连接字符串
TAR_KEY = join(env.subst(SRCPATH), 'my_inlcude.h')
#判断环境变量中是否有“MY_PLATFORM”
if env.has_key('MY_PLATFORM'):
#用"+"连接字符串
NEW_FNAME = 'my_key_' + env['MY_PLATFORM'].upper() + '.h'
#用 "glob" 列出路径下的文件
for fname in glob(join(env.subst(SRCPATH), 'my_key_*')):
#“==”判断字符串是否相等
if fname==NEW_FNAME:
#文件拷贝,从fname拷贝到TAR_RSA_KEY
env.Execute(Copy(TAR_KEY, fname))
env.VariantDir()
将编译生成的文件和源代码目录相互分离
VariantDir(variant_dir, src_dir, [duplicate])
env.VariantDir(variant_dir, src_dir, [duplicate])
e.g.
env.VariantDir('${BUILDPATH}', SRCPATH, duplicate=0)
variant_dir 编译文件的生成目录,一般不能位于src_dir目录下
src_dir 源代码目录
duplicate: 0 -- 不复制源代码的生成目录 1--复制源代码到生成目录 (未指定时,默认=1)
最后
以上就是贤惠微笑为你收集整理的scons脚本应用笔记的全部内容,希望文章能够帮你解决scons脚本应用笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复