利用scons构建project
scons有非常多相對于make構建系統的優秀特性,可是因為發展時間比較短如今的應用范圍還是不太多,可以找到的資料也不是非常多。
scons如今一大問題就是初始上手還是有點難度的,對于有python的基礎的還是有點問題,畢竟他跟寫成的python還是不一樣的。盡管他遵循了python語言的語法,相同用python進行解析,可是我覺得他僅僅是由python進行解釋,不全然等同于可運行的python。
這點我相信用一用之后會有理解。
先講一下這個構建的結構:
整個程序的組織是僅僅有SConstruct這個文件的名字是固定的,這點和Makefile是一樣的。
這個腳本就相當于makefile,這里面還能夠掛接其它的python腳本進行構建的擴展,對于比較大的系統還是非常有作用的。
構建步驟就是先要建立一個SConstruct文件,這個文件能夠選擇成為py格式這樣能夠方便的幫我們分析里面是不是有語法錯誤。
以下就要寫里面的內容了,內容的組織遵循python語法。
這里給出一個最簡單的編譯hello.c的文件。
import os
import sys
print "call program 'hello.c'"
#CC = 'arm-none-eabi-gcc'
CPPPATH = '/opt/arm-2010.09/bin'
env = Environment(CC='/opt/arm-2010.09/bin/arm-none-eabi-gcc',CCFLAGS='-O2')
#env.Append(CCFLAGS='-O2')
#env = Environment(ENV=os.environ,tools=['arm-none-eabi-gcc'])
env.Program('src/go.c')
print "exit"
相信有幾本的python經驗的都能看懂個大概,這里就解釋里面的主要函數的意義。
Environment是環境變量設置的函數,里面CC和CCFLAGS是scons的keyword ?CC是編譯器的路徑。剩下的是編譯條件的環境變量。
Program也是scons的keyword ?他的作用就是設置編譯的文件名稱和路徑一邊找到編譯目標。
print和makefi里面echo作用一樣能夠幫助調試或者看到一些過程
這樣一個主要的scons的構建文件就寫完了,在文件夾下執行 scons 就能夠進行編譯了。
一些其它復雜的應用興許介紹。
轉載于:https://www.cnblogs.com/yfceshi/p/6907717.html
總結
以上是生活随笔為你收集整理的利用scons构建project的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最佳调度问题(搜索回溯)
- 下一篇: ios 绘制字符串