增加自动化编译打包脚本

This commit is contained in:
2026-08-31 19:31:00 +08:00
parent 6e2ce733a6
commit ed04c636be
7 changed files with 326 additions and 18 deletions
+26 -2
View File
@@ -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)