mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-01 18:29:56 +00:00
2419ebb04e
all using US frequencies. This build fixes this (and makes the build system cleaner in general). If you are building your own builds in the IDE you'll need to start setting an environment variable called COUNTRY to your two letter country code (or leave unset to get US frequencies). See new comment in platformio.ini.
66 lines
1.7 KiB
Bash
Executable File
66 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
source bin/version.sh
|
|
|
|
COUNTRIES="US EU433 EU865 CN JP"
|
|
#COUNTRIES=US
|
|
#COUNTRIES=CN
|
|
|
|
BOARDS="ttgo-lora32-v2 ttgo-lora32-v1 tbeam heltec"
|
|
#BOARDS=tbeam
|
|
|
|
OUTDIR=release/latest
|
|
|
|
# We keep all old builds (and their map files in the archive dir)
|
|
ARCHIVEDIR=release/archive
|
|
|
|
rm -f $OUTDIR/firmware*
|
|
|
|
mkdir -p $OUTDIR/bins $OUTDIR/elfs
|
|
rm -f $OUTDIR/bins/*
|
|
|
|
# build the named environment and copy the bins to the release directory
|
|
function do_build {
|
|
ENV_NAME=$1
|
|
echo "Building for $ENV_NAME with $PLATFORMIO_BUILD_FLAGS"
|
|
SRCBIN=.pio/build/$ENV_NAME/firmware.bin
|
|
SRCELF=.pio/build/$ENV_NAME/firmware.elf
|
|
rm -f $SRCBIN
|
|
|
|
# The shell vars the build tool expects to find
|
|
export HW_VERSION="1.0-$COUNTRY"
|
|
export APP_VERSION=$VERSION
|
|
export COUNTRY
|
|
|
|
pio run --jobs 4 --environment $ENV_NAME # -v
|
|
cp $SRCBIN $OUTDIR/bins/firmware-$ENV_NAME-$COUNTRY-$VERSION.bin
|
|
cp $SRCELF $OUTDIR/elfs/firmware-$ENV_NAME-$COUNTRY-$VERSION.elf
|
|
}
|
|
|
|
for COUNTRY in $COUNTRIES; do
|
|
for BOARD in $BOARDS; do
|
|
do_build $BOARD
|
|
done
|
|
done
|
|
|
|
# keep the bins in archive also
|
|
cp $OUTDIR/bins/firmware* $OUTDIR/elfs/firmware* $ARCHIVEDIR
|
|
|
|
cat >$OUTDIR/curfirmwareversion.xml <<XML
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<!-- This file is kept in source control because it reflects the last stable
|
|
release. It is used by the android app for forcing software updates. Do not edit.
|
|
Generated by bin/buildall.sh -->
|
|
|
|
<resources>
|
|
<string name="cur_firmware_version">$VERSION</string>
|
|
</resources>
|
|
XML
|
|
|
|
rm -f $ARCHIVEDIR/firmware-$VERSION.zip
|
|
zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $OUTDIR/bins/firmware-*-$VERSION.* images/system-info.bin bin/device-install.sh
|
|
|
|
echo BUILT ALL |