forked from KeystoneHQ/keystone3-firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.bat
120 lines (105 loc) · 2.7 KB
/
build.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
@echo off
SET BUILD_FOLDER=%CD%\build
SET TOOLS_FOLDER=%CD%\tools
SET ALWAYSE_BUILD_FILE=%CD%\driver\drv_sys.c
SET MAKE_OAT_FILE_PATH=%TOOLS_FOLDER%\ota_file_maker
SET MAKE_PADDING_FILE_PATH=%TOOLS_FOLDER%\padding_bin_file
SET ASTYLE_PATH=%TOOLS_FOLDER%\AStyle.bat
SET PACK_PATH=%CD%\pack.bat
SET build_log=false
SET build_copy=false
SET build_production=false
SET build_screen=false
SET build_debug=false
SET build_format=false
SET build_release=false
SET build_rebuild=false
SET build_btc_only=false
for %%i in (%*) do (
if /I "%%i"=="log" (
set build_log=true
)
if /I "%%i"=="copy" (
set build_copy=true
)
if /I "%%i"=="production" (
set build_production=true
)
if /I "%%i"=="screen" (
set build_screen=true
)
if /I "%%i"=="debug" (
set build_debug=true
)
if /I "%%i"=="format" (
set build_format=true
)
if /I "%%i"=="release" (
set build_release=true
)
if /I "%%i"=="rebuild" (
set build_rebuild=true
)
if /I "%%i"=="btc_only" (
set build_btc_only=true
)
)
if "%build_rebuild%"=="true" (
rd /s /q %BUILD_FOLDER%
)
if "%build_format%"=="true" (
pushd %TOOLS_FOLDER%
echo format file...
call %ASTYLE_PATH%
popd
)
if not exist %BUILD_FOLDER% (
mkdir %BUILD_FOLDER%
)
if not exist %BUILD_FOLDER%\padding_bin_file.py (
copy %TOOLS_FOLDER%\padding_bin_file\padding_bin_file.py %BUILD_FOLDER%\padding_bin_file.py /Y
)
if "%build_copy%"=="true" (
del %BUILD_FOLDER%\mh1903.elf
del %BUILD_FOLDER%\mh1903.map
del %BUILD_FOLDER%\mh1903.hex
del %BUILD_FOLDER%\mh1903.bin
)
set cmake_parm=
if "%build_production%"=="true" (
set cmake_parm=%cmake_parm% -DBUILD_PRODUCTION=true
)
if "%build_btc_only%"=="true" (
set cmake_parm=%cmake_parm% -DBTC_ONLY=true
)
if "%build_screen%"=="true" (
set cmake_parm=%cmake_parm% -DENABLE_SCREEN_SHOT=true
)
if "%build_debug%"=="true" (
set cmake_parm=%cmake_parm% -DDEBUG_MEMORY=true ..
)
echo %cmake_parm%
pushd build
cmake -G "Unix Makefiles" %cmake_parm% ..
if "%build_log%"=="true" (
make -j16 > makefile.log 2>&1
) else (
make -j16 | stdbuf -oL tr '\n' '\n'
)
python3 .\padding_bin_file.py .\mh1903.bin
popd
if "%build_copy%"=="true" (
pushd %MAKE_OAT_FILE_PATH%
echo generating pillar.bin file...
call make_ota_file.bat %CD%\build\pillar.bin
call make_ota_file.bat %CD%\build\keystone3.bin
call make_ota_file.bat d:\pillar.bin
popd
) else if "%build_release%"=="true" (
pushd %MAKE_OAT_FILE_PATH%
echo generating pillar.bin file...
call make_ota_file.bat %CD%\build\pillar.bin
call make_ota_file.bat %CD%\build\keystone3.bin
popd
@REM call %PACK_PATH%
)