🐛 fix(build.sh): add host tools and cross toolchain

This commit is contained in:
2026-08-05 16:04:49 +08:00
parent 5712c047aa
commit 19051f5af8
2 changed files with 15 additions and 1 deletions
+6 -1
View File
@@ -37,7 +37,8 @@ bash build.sh
The script installs the required APT packages with `sudo`, clones ImmortalWrt The script installs the required APT packages with `sudo`, clones ImmortalWrt
`v25.12.1` into `.build/immortalwrt`, configures the generic x86/64 target, and `v25.12.1` into `.build/immortalwrt`, configures the generic x86/64 target, and
builds only mihomo. Generated APK files are copied to `./dist/`. builds the required host tools, the x86/64 cross toolchain, and mihomo. Generated
APK files are copied to `./dist/`.
To skip APT installation on later runs: To skip APT installation on later runs:
@@ -45,6 +46,10 @@ To skip APT installation on later runs:
SKIP_DEPS=1 bash build.sh SKIP_DEPS=1 bash build.sh
``` ```
If a previous build failed, keep `.build/immortalwrt` and run the same command
again. Make will reuse completed host tools and toolchain components and resume
the build.
The build directory, job count, and source version can be overridden: The build directory, job count, and source version can be overridden:
```sh ```sh
+9
View File
@@ -117,6 +117,14 @@ EOF
grep -q '^CONFIG_PACKAGE_mihomo=m$' "${SOURCE_DIR}/.config" || die "mihomo package selection failed." grep -q '^CONFIG_PACKAGE_mihomo=m$' "${SOURCE_DIR}/.config" || die "mihomo package selection failed."
} }
prepare_build_system() {
log "Building ImmortalWrt host tools"
make -C "${SOURCE_DIR}" tools/install -j"${JOBS}" V=s
log "Building the x86/64 cross toolchain"
make -C "${SOURCE_DIR}" toolchain/install -j"${JOBS}" V=s
}
build_package() { build_package() {
log "Building mihomo with ${JOBS} parallel jobs" log "Building mihomo with ${JOBS} parallel jobs"
make -C "${SOURCE_DIR}" package/feeds/mihomo/mihomo/download -j"${JOBS}" V=s make -C "${SOURCE_DIR}" package/feeds/mihomo/mihomo/download -j"${JOBS}" V=s
@@ -151,5 +159,6 @@ install_dependencies
prepare_source prepare_source
prepare_feeds prepare_feeds
configure_target configure_target
prepare_build_system
build_package build_package
collect_artifacts collect_artifacts