FreeCalypso > hg > ffs-editor
changeset 9:227e8621dcf2
scripts/config-one.sh put together
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 15 May 2020 03:36:42 +0000 |
parents | 727914266f28 |
children | 4f002f675fd1 |
files | scripts/config-one.sh |
diffstat | 1 files changed, 115 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/config-one.sh Fri May 15 03:36:42 2020 +0000 @@ -0,0 +1,115 @@ +#!/bin/sh + +set -e + +# start looking at our invokation line + +if [ "$1" = --clean ] +then + clean_flag=1 + shift +else + clean_flag=0 +fi + +if [ $# != 2 ] +then + echo "usage: $0 [--clean] target uart" 1>&2 + exit 1 +fi + +TARGET="$1" +UART_SEL="$2" + +if [ ! -f "targets/$TARGET.h" ] +then + echo "Error: target $TARGET not known" 1>&2 + exit 1 +fi + +case "$UART_SEL" in + irda) + RVTMUX_ON_MODEM=0 + ;; + modem) + RVTMUX_ON_MODEM=1 + ;; + *) + echo "Error: UART selection $UART_SEL not understood" 1>&2 + exit 1 +esac + +BUILD_DIR="build-$TARGET-$UART_SEL" + +echo "Building FFS editor for target $TARGET (UART $UART_SEL) in $BUILD_DIR" + +if [ "$clean_flag" = 1 ] +then + rm -rf $BUILD_DIR +fi +mkdir -p $BUILD_DIR + +# shell functions to be used in the configuration recipe + +build_lib() { + if [ $# != 1 ] + then + echo "Error: build_lib takes 1 argument" 1>&2 + exit 1 + fi + scripts/mk-component.sh "$1" + SUBDIR="$SUBDIR $1" + LIBS="$LIBS $1/$1.a" +} + +# invoke the configuration recipe + +export BUILD_DIR TARGET RVTMUX_ON_MODEM + +rm -rf $BUILD_DIR/config +cp -r cfg-headers $BUILD_DIR/config +cp targets/$TARGET.h $BUILD_DIR/config/fc-target.h + +SUBDIR= +LIBS= + +# core drivers +build_lib drivers_flash + +build_lib riviera_core_flash +build_lib riviera_cust_flash + +# services +build_lib dar +build_lib etm + +# app drivers +build_lib buzzer +build_lib ffs +build_lib ffs_drv +build_lib uart_drv + +# system glue +build_lib main +build_lib main_ir + +# Nucleus +build_lib nucleus_flash +build_lib nucleus_intram + +# selective libc replacement +build_lib libsys_fl +build_lib libsys_ir + +# generate the top level Makefile! + +helpers/makeline def SUBDIR $SUBDIR >> $BUILD_DIR/Makefile +echo >> $BUILD_DIR/Makefile +helpers/makeline def LIBS $LIBS >> $BUILD_DIR/Makefile +echo >> $BUILD_DIR/Makefile + +cat gcc/makefile-body >> $BUILD_DIR/Makefile + +# All done! + +echo "Run make in $BUILD_DIR to compile the application"