diff --git a/tools/kaleidoscope-builder b/tools/kaleidoscope-builder index 88529676..8822a532 100755 --- a/tools/kaleidoscope-builder +++ b/tools/kaleidoscope-builder @@ -19,6 +19,10 @@ firmware_size () { find_sketch () { SKETCH="${SKETCH:-${DEFAULT_SKETCH}}" LIBRARY="${LIBRARY:-${SKETCH}}" + if [ -z "${SKETCH}" ] || [ -z "${LIBRARY}" ] || [ -z "${ROOT}" ] || [ -z "${SOURCEDIR}" ]; then + echo "SKETCH, LIBRARY, SOURCEDIR, and ROOT need to be set before including this file!" >&2 + exit 1 + fi for path in "hardware/keyboardio/avr/libraries/Kaleidoscope-${LIBRARY}/examples/${SKETCH}" \ "examples/${LIBRARY}" \ @@ -95,6 +99,8 @@ build () { } compile () { + build_version + build_filenames install -d "${OUTPUT_PATH}" echo "Building ${OUTPUT_DIR}/${SKETCH} (${LIB_VERSION}) ..." diff --git a/tools/kaleidoscope-builder.conf b/tools/kaleidoscope-builder.conf index 11356bfc..0cb36f87 100644 --- a/tools/kaleidoscope-builder.conf +++ b/tools/kaleidoscope-builder.conf @@ -11,10 +11,6 @@ esac SKETCH="${SKETCH:-${DEFAULT_SKETCH}}" LIBRARY="${LIBRARY:-${SKETCH}}" -if [ -z "${SKETCH}" ] || [ -z "${LIBRARY}" ] || [ -z "${ROOT}" ] || [ -z "${SOURCEDIR}" ]; then - echo "SKETCH, LIBRARY, SOURCEDIR, and ROOT need to be set before including this file!" >&2 - exit 1 -fi ######## @@ -93,20 +89,21 @@ BOOTLOADER_PATH="${BOOTLOADER_PATH:-${BOARD_HARDWARE_PATH}/keyboardio/avr/bootlo ###### Build and output configuration ###### -GIT_VERSION="$(cd $(find_sketch); git describe --abbrev=4 --dirty --always)" -LIB_VERSION="$(cd $(find_sketch); (grep version= ../../library.properties 2>/dev/null || echo version=0.0.0) | cut -d= -f2)-g${GIT_VERSION}" - -BUILD_PATH="${BUILD_PATH:-$(mktemp -d 2>/dev/null || mktemp -d -t 'build')}" -OUTPUT_DIR="${OUTPUT_DIR:-output/${LIBRARY}}" -OUTPUT_PATH="${OUTPUT_PATH:-${SOURCEDIR}/${OUTPUT_DIR}}" - - -OUTPUT_FILE_PREFIX="${SKETCH}-${LIB_VERSION}" - -HEX_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.hex" -HEX_FILE_WITH_BOOTLOADER_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}-with-bootloader.hex" -ELF_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.elf" - +build_version () { + GIT_VERSION="$(cd $(find_sketch); git describe --abbrev=4 --dirty --always)" + LIB_VERSION="$(cd $(find_sketch); (grep version= ../../library.properties 2>/dev/null || echo version=0.0.0) | cut -d= -f2)-g${GIT_VERSION}" + + BUILD_PATH="${BUILD_PATH:-$(mktemp -d 2>/dev/null || mktemp -d -t 'build')}" + OUTPUT_DIR="${OUTPUT_DIR:-output/${LIBRARY}}" + OUTPUT_PATH="${OUTPUT_PATH:-${SOURCEDIR}/${OUTPUT_DIR}}" +} + +build_filenames () { + OUTPUT_FILE_PREFIX="${SKETCH}-${LIB_VERSION}" + HEX_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.hex" + HEX_FILE_WITH_BOOTLOADER_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}-with-bootloader.hex" + ELF_FILE_PATH="${OUTPUT_PATH}/${OUTPUT_FILE_PREFIX}.elf" +}