Author: JF <jf@codingfield.com>
Docker build : split build.sh into 2 scripts : build.sh that always exists and post_build.sh that is generated by cmake build.sh
.gitignore | 2 +- docker/build.sh | 12 ++++++++++++ docker/build.sh.in | 23 ----------------------- docker/post_build.sh.in | 16 ++++++++++++++++ src/CMakeLists.txt | 2 +-
diff --git a/.gitignore b/.gitignore index f21089e358ab21b05fd8a1979b6c4ffdf3c4e6dd..0cbee675028a93e8a21705dfbd3e164e600e5372 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ cmake-build-* core sdk src/Version.h -docker/build.sh +docker/post_build.sh diff --git a/docker/build.sh b/docker/build.sh new file mode 100755 index 0000000000000000000000000000000000000000..fcb819a6214edff21aa2d53c81e7474c31114497 --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,12 @@ +#!/bin/sh +export LC_ALL=C.UTF-8 +export LANG=C.UTF-8 +set -x + +mkdir /sources/build +cd /sources/build + +cmake -DARM_NONE_EABI_TOOLCHAIN_PATH=/opt/gcc-arm-none-eabi-9-2020-q2-update -DNRF5_SDK_PATH=/opt/nRF5_SDK_15.3.0_59ac345 -DUSE_OPENOCD=1 ../ +make -j$(nproc) + +sh /sources/docker/post_build.sh diff --git a/docker/build.sh.in b/docker/build.sh.in deleted file mode 100755 index a5940e73678df484abf87c7fd8312aab19c5c8b3..0000000000000000000000000000000000000000 --- a/docker/build.sh.in +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -export LC_ALL=C.UTF-8 -export LANG=C.UTF-8 -set -x - -mkdir /sources/build -cd /sources/build - -cmake -DARM_NONE_EABI_TOOLCHAIN_PATH=/opt/gcc-arm-none-eabi-9-2020-q2-update -DNRF5_SDK_PATH=/opt/nRF5_SDK_15.3.0_59ac345 -DUSE_OPENOCD=1 ../ -make -j$(nproc) - -mkdir -p /sources/build/output -/opt/mcuboot/scripts/imgtool.py create --align 4 --version 1.0.0 --header-size 32 --slot-size 475136 --pad-header /sources/build/src/@EXECUTABLE_MCUBOOT_FILE_NAME@.bin /sources/build/output/@IMAGE_MCUBOOT_FILE_NAME@ -adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application /sources/build/output/@IMAGE_MCUBOOT_FILE_NAME@ /sources/build/output/@DFU_FILE_NAME@ - -cp /sources/build/src/*.bin /sources/build/output/ -cp /sources/build/src/*.hex /sources/build/output/ -cp /sources/build/src/*.out /sources/build/output/ -cp /sources/build/src/*.map /sources/build/output/ -cp /sources/bootloader/mynewt_nosemi_4.1.7.elf.bin /sources/build/output/bootloader.bin - - - diff --git a/docker/post_build.sh.in b/docker/post_build.sh.in new file mode 100755 index 0000000000000000000000000000000000000000..f5bf32fabce0bb88c8e1e736b00afa884a832f96 --- /dev/null +++ b/docker/post_build.sh.in @@ -0,0 +1,16 @@ +#!/bin/sh +export LC_ALL=C.UTF-8 +export LANG=C.UTF-8 +set -x + +mkdir -p /sources/build/output +/opt/mcuboot/scripts/imgtool.py create --align 4 --version 1.0.0 --header-size 32 --slot-size 475136 --pad-header /sources/build/src/pinetime-mcuboot-app-0.8.0.bin /sources/build/output/image-0.8.0.bin +adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application /sources/build/output/image-0.8.0.bin /sources/build/output/dfu-0.8.0.zip + +cp /sources/build/src/*.bin /sources/build/output/ +cp /sources/build/src/*.hex /sources/build/output/ +cp /sources/build/src/*.out /sources/build/output/ +cp /sources/build/src/*.map /sources/build/output/ +cp /sources/bootloader/mynewt_nosemi_4.1.7.elf.bin /sources/build/output/bootloader.bin + + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9bd81842ab6b52f0b1ccaed644b01c9beba33fa1..63bb05912e727bae45578829d67fad2ee233a964 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -721,4 +721,4 @@ ) endif() -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../docker/build.sh.in ${CMAKE_CURRENT_SOURCE_DIR}/../docker/build.sh) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../docker/post_build.sh.in ${CMAKE_CURRENT_SOURCE_DIR}/../docker/post_build.sh)