加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
SConscript 4.54 KB
一键复制 编辑 原始数据 按行查看 历史
ijiedev 提交于 2018-10-27 18:44 . kpg
#-*- encoding: utf-8 -*-
#---------------------------------------------------------------------------------
# @File: Sconscript
# @Author: liu2guang
# @Date: 2018-09-19 18:07:00(v0.1.0)
#
# @LICENSE: GPLv3: https://github.com/rtpkgs/buildpkg/blob/master/LICENSE.
#
#---------------------------------------------------------------------------------
import os
from building import *
Import('RTT_ROOT')
Import('rtconfig')
#---------------------------------------------------------------------------------
# Package configuration
#---------------------------------------------------------------------------------
PKGNAME = "button"
VERSION = "v1.0.0"
DEPENDS = ["PKG_USING_BUTTON"]
#---------------------------------------------------------------------------------
# Compile the configuration
#---------------------------------------------------------------------------------
SOURCES = ["button.c"]
CPPPATH = []
CCFLAGS = " -std=gnu99" # no pass
ASFLAGS = ""
LOCAL_CPPPATH = [""]
LOCAL_CCFLAGS = " -std=gnu99"
LOCAL_ASFLAGS = ""
CPPDEFINES = ["CPPDEFINES"]
LOCAL_CPPDEFINES = ["LOCAL_CPPDEFINES"]
LIBS = ["libmm"] # keil libmm, gcc mm
LIBPATH = [os.path.join(GetCurrentDir(), "")]
LINKFLAGS = ""
#---------------------------------------------------------------------------------
# Feature clip configuration, optional
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
# Compiler platform configuration, optional
#---------------------------------------------------------------------------------
if rtconfig.CROSS_TOOL == "gcc":
pass
if rtconfig.CROSS_TOOL == "iar":
pass
if rtconfig.CROSS_TOOL == "keil":
pass
#---------------------------------------------------------------------------------
# Warning: internal related processing, developers do not modify!!!
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
# System variables
#---------------------------------------------------------------------------------
objs = []
root = GetCurrentDir()
#---------------------------------------------------------------------------------
# Add relative path support for CPPPATH and LOCAL_CPPPATH
#---------------------------------------------------------------------------------
for index, value in enumerate(CPPPATH):
if string.find(value, root) == False:
CPPPATH[index] = os.path.join(root, value)
for index, value in enumerate(LOCAL_CPPPATH):
if string.find(value, root) == False:
LOCAL_CPPPATH[index] = os.path.join(root, value)
if rtconfig.CROSS_TOOL == "gcc": # no test
for index, value in enumerate(LIBS):
if value.startswith("lib") == True:
print("Automatic fix the nonstandard lib name, %s -> %s" % (LIBS[index], LIBS[index].lstrip("lib")))
LIBS[index] = LIBS[index].lstrip("lib")
elif rtconfig.CROSS_TOOL == "keil":
for index, value in enumerate(LIBS):
if value.startswith("lib") == False:
print("Automatic fix the nonstandard lib name, %s -> %s" % (LIBS[index], "lib" + LIBS[index]))
LIBS[index] = "lib" + LIBS[index]
LIBPATH += [root]
#---------------------------------------------------------------------------------
# Sub target
#---------------------------------------------------------------------------------
list = os.listdir(root)
if GetDepend(DEPENDS):
for d in list:
path = os.path.join(root, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
#---------------------------------------------------------------------------------
# Main target
#---------------------------------------------------------------------------------
objs = DefineGroup(name = PKGNAME, src = SOURCES, depend = DEPENDS,
CPPPATH = CPPPATH,
CCFLAGS = CCFLAGS,
ASFLAGS = ASFLAGS,
LOCAL_CPPPATH = LOCAL_CPPPATH,
LOCAL_CCFLAGS = LOCAL_CCFLAGS,
LOCAL_ASFLAGS = LOCAL_ASFLAGS,
CPPDEFINES = CPPDEFINES,
LOCAL_CPPDEFINES = LOCAL_CPPDEFINES,
LIBS = LIBS,
LIBPATH = LIBPATH,
LINKFLAGS = LINKFLAGS)
Return("objs")
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化