增加自动化编译打包脚本
This commit is contained in:
@@ -1,8 +1,15 @@
|
||||
|
||||
# make 编译并下载
|
||||
# make 编译并下载,成功后自动打包到 release/
|
||||
# make pack 仅打包(需已编译生成 jl_isd.fw)
|
||||
# make VERBOSE=1 显示编译详细过程
|
||||
# make clean 清除编译临时文件
|
||||
#
|
||||
# USB 烧录(两套镜像都会生成,只烧其中一套):
|
||||
# .\build.bat 或 .\build.bat nokey -> 烧不带 Key
|
||||
# .\build.bat key -> 烧带 Key
|
||||
# make BURN_KEY=1 与 build.bat key 相同
|
||||
#
|
||||
#
|
||||
# 注意: Linux 下编译方式:
|
||||
# 1. 从 http://pkgman.jieliapp.com/doc/all 处找到下载链接
|
||||
# 2. 下载后,解压到 /opt/jieli 目录下,保证
|
||||
@@ -31,6 +38,11 @@ export PATH:=$(TOOL_DIR);$(PATH)
|
||||
FIXBAT := tools\utils\fixbat.exe # 用于处理 utf8->gbk 编码问题
|
||||
POST_SCRIPT := cpu/br28/tools/download.bat
|
||||
RUN_POST_SCRIPT := cpu\br28\tools\download.bat
|
||||
PACK_SCRIPT := powershell -NoProfile -ExecutionPolicy Bypass -File tools\pack_firmware.ps1
|
||||
# USB: 1/key/yes = flash keyed image; default = nokey
|
||||
ifneq ($(filter 1 key yes,$(BURN_KEY)),)
|
||||
export JL_BURN_KEY := 1
|
||||
endif
|
||||
else
|
||||
# Linux 下工具链位置
|
||||
TOOL_DIR := /opt/jieli/pi32v2/bin
|
||||
@@ -53,6 +65,7 @@ export PATH:=$(TOOL_DIR):$(PATH)
|
||||
FIXBAT := touch # Linux下不需要处理 bat 编码问题
|
||||
POST_SCRIPT := cpu/br28/tools/download.sh
|
||||
RUN_POST_SCRIPT := bash $(POST_SCRIPT)
|
||||
PACK_SCRIPT :=
|
||||
endif
|
||||
|
||||
CC := $(TOOL_DIR)/$(CC)
|
||||
@@ -612,7 +625,7 @@ LINK_AT ?= 1
|
||||
# 表示下面的不是一个文件的名字,无论是否存在 all, clean, pre_build 这样的文件
|
||||
# 还是要执行命令
|
||||
# see: https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
|
||||
.PHONY: all clean pre_build
|
||||
.PHONY: all clean pre_build pack
|
||||
|
||||
# 不要使用 make 预设置的规则
|
||||
# see: https://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html
|
||||
@@ -621,7 +634,18 @@ LINK_AT ?= 1
|
||||
all: pre_build $(USR_LE_LIB) $(OUT_ELF)
|
||||
$(info +POST-BUILD)
|
||||
$(QUITE) $(RUN_POST_SCRIPT) sdk
|
||||
ifneq ($(PACK_SCRIPT),)
|
||||
$(info +PACK-FIRMWARE)
|
||||
$(QUITE) $(PACK_SCRIPT)
|
||||
endif
|
||||
|
||||
pack:
|
||||
$(info +PACK-FIRMWARE)
|
||||
ifneq ($(PACK_SCRIPT),)
|
||||
$(QUITE) $(PACK_SCRIPT)
|
||||
else
|
||||
$(error pack script is Windows-only)
|
||||
endif
|
||||
|
||||
pre_build:
|
||||
$(info +PRE-BUILD)
|
||||
|
||||
Reference in New Issue
Block a user