mirror of
https://gitee.com/Vancouver2017/luban-lite-t3e-pro.git
synced 2025-12-14 18:38:55 +00:00
118 lines
3.6 KiB
Python
118 lines
3.6 KiB
Python
import os
|
|
import platform
|
|
import shutil
|
|
import atexit
|
|
import awtk_config as awtk
|
|
|
|
APP_CCFLAGS = ' '
|
|
|
|
arguments_list = list(ARGUMENTS.keys())
|
|
for argument in arguments_list:
|
|
if argument.isupper() == False:
|
|
print('!!!!!Argument ' + argument + ' is error! Do you mean', argument.upper() + '?')
|
|
|
|
LCD = ARGUMENTS.get('LCD', '')
|
|
if len(LCD) > 0:
|
|
wh = LCD.split('_')
|
|
if len(wh) >= 2:
|
|
APP_CCFLAGS = ' -DLCD_WIDTH=' + wh[0] + ' -DLCD_HEIGHT=' + wh[1] + ' '
|
|
else:
|
|
print('LCD param input format error, e.g. LCD=800_480')
|
|
exit(0)
|
|
|
|
AWTK_LIB_PATH = awtk.joinPath(awtk.BIN_DIR, "libawtk.so");
|
|
if os.path.exists(AWTK_LIB_PATH) :
|
|
os.remove(AWTK_LIB_PATH)
|
|
|
|
APP_ROOT = ARGUMENTS.get('APP', '')
|
|
if len (APP_ROOT) > 0:
|
|
app_sconstruct = awtk.joinPath(APP_ROOT, 'SConstruct')
|
|
if not os.path.exists(APP_ROOT) or not os.path.exists(app_sconstruct):
|
|
print('APP: ' + APP_ROOT + ' not found!')
|
|
exit(0)
|
|
|
|
env = DefaultEnvironment(CCFLAGS = awtk.CCFLAGS + APP_CCFLAGS,
|
|
ENV = os.environ,
|
|
CFLAGS = awtk.CFLAGS,
|
|
CC=awtk.CC,
|
|
CXX=awtk.CXX,
|
|
LD=awtk.LD,
|
|
AR=awtk.AR,
|
|
RANLIB=awtk.RANLIB,
|
|
STRIP=awtk.STRIP,
|
|
LIBS = awtk.LIBS,
|
|
LIBPATH = awtk.LIBPATH,
|
|
CPPPATH = awtk.CPPPATH + [awtk.joinPath(awtk.TK_ROOT, 'res')],
|
|
LINKFLAGS = awtk.LINKFLAGS,
|
|
OS_SUBSYSTEM_CONSOLE=awtk.OS_SUBSYSTEM_CONSOLE,
|
|
OS_SUBSYSTEM_WINDOWS=awtk.OS_SUBSYSTEM_WINDOWS
|
|
)
|
|
|
|
TK_ROOT_VAR = awtk.joinPath(awtk.VAR_DIR, 'awtk')
|
|
VariantDir(TK_ROOT_VAR, awtk.TK_ROOT)
|
|
|
|
if APP_ROOT == '':
|
|
APP_PROJ_VAR = [awtk.joinPath(TK_ROOT_VAR, 'demos/SConscript')]
|
|
else:
|
|
APP_PROJ_VAR = []
|
|
|
|
if awtk.lcd_devices_is_egl(os.environ['LCD_DEVICES']) :
|
|
APP_PROJ_VAR += [awtk.joinPath(TK_ROOT_VAR, '3rd/glad/SConscript')]
|
|
|
|
SConscriptFiles=[
|
|
awtk.joinPath(TK_ROOT_VAR, '3rd/mbedtls/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, '3rd/cjson/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, '3rd/agg/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, '3rd/agge/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, '3rd/fribidi/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, '3rd/gpinyin/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, '3rd/libunibreak/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, '3rd/miniz/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/xml/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/charset/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/fscript_ext/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/streams/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/csv/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/conf_io/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/hal/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/debugger/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/ubjson/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'src/compressors/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'tools/common/SConscript'),
|
|
awtk.joinPath(TK_ROOT_VAR, 'tools/ui_gen/xml_to_ui/SConscript'),
|
|
'awtk-port/SConscript',
|
|
] + APP_PROJ_VAR + awtk.OS_PROJECTS;
|
|
|
|
SConscript(SConscriptFiles)
|
|
|
|
|
|
def build_app():
|
|
if not os.path.exists(AWTK_LIB_PATH) :
|
|
return
|
|
if APP_ROOT == '':
|
|
return
|
|
|
|
print('======================== build app ========================')
|
|
|
|
app_bin = awtk.joinPath(APP_ROOT, 'bin')
|
|
linux_fb_bin = os.environ['BIN_DIR'];
|
|
|
|
if env.GetOption('clean'):
|
|
cmd = 'cd ' + APP_ROOT + ' && scons -c'
|
|
print(cmd)
|
|
os.system(cmd)
|
|
else:
|
|
cmd = 'cd ' + APP_ROOT + ' && scons LINUX_FB=true'
|
|
if len(LCD) > 0:
|
|
cmd += ' LCD=' + LCD
|
|
print(cmd)
|
|
os.system(cmd)
|
|
|
|
files = os.listdir(app_bin)
|
|
for file in files:
|
|
print('copy ' + awtk.joinPath(app_bin, file) + ' to ' + linux_fb_bin)
|
|
shutil.copy(awtk.joinPath(app_bin, file), linux_fb_bin)
|
|
|
|
atexit.register(build_app)
|