我是靠谱客的博主 贤惠微笑,最近开发中收集的这篇文章主要介绍scons脚本应用笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

下面代码段包含:使用环境变量,打印,连接字符串,判断字符串相同,列出目录中所有文件,执行文件拷贝。

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脚本应用笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部