diff --git a/workspace/TS100/Makefile b/workspace/TS100/Makefile index 3b38d4ac..a9868318 100644 --- a/workspace/TS100/Makefile +++ b/workspace/TS100/Makefile @@ -66,7 +66,6 @@ LDSCRIPT=LinkerScript.ld # ------------------------------------------------------------------------------ COMPILER=gcc # arm-none is the general ARM compiler, -# arm-atollic is the atollic customised compilers if you have them setup COMPILER_PREFIX=arm-none # programs --------------------------------------------------------------------- CC=$(COMPILER_PREFIX)-eabi-gcc @@ -84,6 +83,8 @@ SREC_INFO=srec_info # linker flags ----------------------------------------------------------------- LINKER_FLAGS=-Wl,--gc-sections \ + -Wl,--wrap=malloc \ + -Wl,--wrap=free \ -o$(OUT_HEXFILE).elf \ -Wl,-Map=$(OUT_HEXFILE).map \ -mcpu=cortex-m3 \ @@ -128,7 +129,8 @@ CHECKOPTIONS= -Wall \ -Winline \ -Wshadow \ -Wno-unused-parameter \ - -Wdouble-promotion + -Wdouble-promotion \ + -Werror CHECKOPTIONS_C= -Wbad-function-cast diff --git a/workspace/TS100/build.sh b/workspace/TS100/build.sh index 77181aed..2fd28523 100755 --- a/workspace/TS100/build.sh +++ b/workspace/TS100/build.sh @@ -9,9 +9,8 @@ BUILD_LANGUAGES=() AVAILABLE_MODELS=("TS100" "TS80") BUILD_MODELS=() -usage () -{ - echo "Usage : $(basename "$0") [-l ] [-m ] [-h] +usage() { + echo "Usage : $(basename "$0") [-l ] [-m ] [-h] Parameters : -l LANG_CODE : Force a specific language (E.g. : EN, FR, NL_BE, ...) @@ -19,59 +18,53 @@ Parameters : -h : Show this help message INFO : By default, without parameters, the build is for all platforms and all languages" 1>&2 - exit 1 + exit 1 } -checkLastCommand () -{ - if [ $? -eq 0 ] - then +checkLastCommand() { + if [ $? -eq 0 ]; then echo " [Success]" echo "*********************************************" else forceExit -fi + fi } -forceExit () -{ +forceExit() { echo " [Error]" echo "*********************************************" echo " -- Stop on error --" exit 1 } -isInArray () -{ +isInArray() { local value="$1" # Save first argument in a variable shift # Shift all arguments to the left (original $1 gets lost) local array=("$@") # Rebuild the array with rest of arguments - for item in "${array[@]}" - do + for item in "${array[@]}"; do [[ $value == "$item" ]] && return 0 done return 1 } -while getopts h:l:m: option -do +while getopts h:l:m: option; do case "${option}" in - h) - usage - ;; - l) - LANGUAGEREQ=${OPTARG} - ;; - m) - MODEL=${OPTARG} - ;; - *) - usage - ;; + h) + usage + ;; + l) + LANGUAGEREQ=${OPTARG} + ;; + m) + MODEL=${OPTARG} + ;; + *) + usage + ;; esac done -shift $((OPTIND-1)) +shift $((OPTIND - 1)) echo "*********************************************" echo " Builder for the" @@ -82,27 +75,24 @@ echo " " echo "*********************************************" # Calculate available languages -for f in "$TRANSLATION_DIR"/translation_*.json -do - AVAILABLE_LANGUAGES+=(`echo $f | tr "[:lower:]" "[:upper:]" | sed "s/[^_]*_//" | sed "s/\.JSON//g"`) -done +for f in "$TRANSLATION_DIR"/translation_*.json; do + AVAILABLE_LANGUAGES+=($(echo $f | tr "[:lower:]" "[:upper:]" | sed "s/[^_]*_//" | sed "s/\.JSON//g")) +done # Checking requested language echo "Available languages :" echo " ${AVAILABLE_LANGUAGES[*]}" echo "Requested languages :" -if [ -n "$LANGUAGEREQ" ] -then - if isInArray "$LANGUAGEREQ" "${AVAILABLE_LANGUAGES[@]}" - then - echo " $LANGUAGEREQ" +if [ -n "$LANGUAGEREQ" ]; then + if isInArray "$LANGUAGEREQ" "${AVAILABLE_LANGUAGES[@]}"; then + echo " $LANGUAGEREQ" BUILD_LANGUAGES+=("$LANGUAGEREQ") else - echo " $LANGUAGEREQ doesn't exist" + echo " $LANGUAGEREQ doesn't exist" forceExit fi else - echo " [ALL LANGUAGES]" + echo " [ALL LANGUAGES]" BUILD_LANGUAGES+=("${AVAILABLE_LANGUAGES[@]}") fi echo "*********************************************" @@ -111,26 +101,23 @@ echo "*********************************************" echo "Available models :" echo " ${AVAILABLE_MODELS[*]}" echo "Requested models :" -if [ -n "$MODEL" ] -then - if isInArray "$MODEL" "${AVAILABLE_MODELS[@]}" - then - echo " $MODEL" +if [ -n "$MODEL" ]; then + if isInArray "$MODEL" "${AVAILABLE_MODELS[@]}"; then + echo " $MODEL" BUILD_MODELS+=("$MODEL") else - echo " $MODEL doesn't exist" + echo " $MODEL doesn't exist" forceExit fi else - echo " [ALL MODELS]" + echo " [ALL MODELS]" BUILD_MODELS+=("${AVAILABLE_MODELS[@]}") fi echo "*********************************************" -if [ ${#BUILD_LANGUAGES[@]} -gt 0 ] && [ ${#BUILD_MODELS[@]} -gt 0 ] -then +if [ ${#BUILD_LANGUAGES[@]} -gt 0 ] && [ ${#BUILD_MODELS[@]} -gt 0 ]; then echo "Generating Translation.cpp" - python3 "$TRANSLATION_DIR/$TRANSLATION_SCRIPT" "$TRANSLATION_DIR" + python3 "$TRANSLATION_DIR/$TRANSLATION_SCRIPT" "$TRANSLATION_DIR" checkLastCommand echo "Cleaning previous builds" @@ -139,20 +126,18 @@ then make clean >/dev/null checkLastCommand - for model in "${BUILD_MODELS[@]}" - do - for lang in "${BUILD_LANGUAGES[@]}" - do + for model in "${BUILD_MODELS[@]}"; do + for lang in "${BUILD_LANGUAGES[@]}"; do echo "Building firmware for $model in $lang" make -j lang="$lang" model="$model" >/dev/null - checkLastCommand - echo "Cleanup Temp files 1 for $model in $lang" - rm -rf Objects/Core >/dev/null checkLastCommand - echo "Cleanup Temp files 2 for $model in $lang" - rm -rf Objects/Src >/dev/null + echo "Cleanup Temp files for $model in $lang" + rm -rf Objects/Core/ >/dev/null checkLastCommand done + echo "Cleanup model change" + rm -rf Objects/ >/dev/null + checkLastCommand done else echo "Nothing to build. (no model or language specified)"