diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-03-18 17:22:50 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-03-18 17:22:50 +0000 |
commit | 5029575d531576c6818094334dcae95359bdd119 (patch) | |
tree | 30c8e74443d6b893cc9c7cd07ba3a87da6c10ce4 /nuttx/tools/configure.sh | |
parent | 89410c7157fd6e2c5f13dc4814606c97dd2d715f (diff) | |
download | px4-nuttx-5029575d531576c6818094334dcae95359bdd119.tar.gz px4-nuttx-5029575d531576c6818094334dcae95359bdd119.tar.bz2 px4-nuttx-5029575d531576c6818094334dcae95359bdd119.zip |
Update to apps/build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3391 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/tools/configure.sh')
-rwxr-xr-x | nuttx/tools/configure.sh | 114 |
1 files changed, 85 insertions, 29 deletions
diff --git a/nuttx/tools/configure.sh b/nuttx/tools/configure.sh index 094901ebc..a68561d82 100755 --- a/nuttx/tools/configure.sh +++ b/nuttx/tools/configure.sh @@ -31,26 +31,54 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -#set -x -BOARD=$1 WD=`pwd` TOPDIR="${WD}/.." +USAGE="${0} [-d] [-a <app-dir>] <board-name>" -function show_usage () -{ - echo "${0} <board-name>" - exit 1 -} +# Parse command arguments -if [ "${BOARD}X" = "X" ]; then - echo "Missing argument" - show_usage +unset boardconfig +unset appdir + +while [ ! -z "$1" ]; do + case "$1" in + -d ) + set -x + ;; + -h ) + echo "$usage" + exit 0 + ;; + -a ) + shift + appdir=$1 + ;; + *) + if [ ! -z "${boardconfig}" ]; then + echo "" + echo "<board/config> defined twice" + echo "$USAGE" + exit 1 + fi + boardconfig=$1 + ;; + esac + shift +done + +# Sanity checking + +if [ -z "${boardconfig}" ]; then + echo "" + echo "Missing <board/config> argument" + echo "$USAGE" + exit 2 fi -BOARDDIR=${TOPDIR}/configs/${BOARD} -if [ ! -d "${BOARDDIR}" ]; then - echo "Directory ${BOARDDIR} does not exist. Options are:" +configpath=${TOPDIR}/configs/${boardconfig} +if [ ! -d "${configpath}" ]; then + echo "Directory ${configpath} does not exist. Options are:" echo "" echo "Select one of the following options for <board-name>:" configlist=`find ${TOPDIR}/configs -name defconfig` @@ -59,29 +87,57 @@ if [ ! -d "${BOARDDIR}" ]; then echo " $config" done echo "" - show_usage + echo "$USAGE" + exit 3 +fi + +if [ ! -r "${configpath}/Make.defs" ]; then + echo "File ${configpath}/Make.defs does not exist" + exit 4 fi -if [ ! -r "${BOARDDIR}/Make.defs" ]; then - echo "File ${BOARDDIR}/Make.defs does not exist" - exit 1 +if [ ! -r "${configpath}/setenv.sh" ]; then + echo "File ${configpath}/setenv.sh does not exist" + exit 5 fi -if [ ! -r "${BOARDDIR}/setenv.sh" ]; then - echo "File ${BOARDDIR}/setenv.sh does not exist" - exit 1 +if [ ! -r "${configpath}/defconfig" ]; then + echo "File ${configpath}/defconfig does not exist" + exit 6 fi -if [ ! -r "${BOARDDIR}/defconfig" ]; then - echo "File ${BOARDDIR}/defconfig does not exist" - exit 1 +# Check for the apps/ dir in the usual place if appdir was not provided + +if [ -z "${appdir}" ]; then + if [ -d "${TOPDIR}/../apps" ]; then + appdir="${TOPDIR}/../apps" + fi fi -cp -f "${BOARDDIR}/Make.defs" "${TOPDIR}/." || \ - { echo "Failed to copy ${BOARDDIR}/Make.defs" ; exit 1 ; } -cp -f "${BOARDDIR}/setenv.sh" "${TOPDIR}/." || \ - { echo "Failed to copy ${BOARDDIR}/setenv.sh" ; exit 1 ; } +# Okay... setup the configuration + +cp -f "${configpath}/Make.defs" "${TOPDIR}/." || \ + { echo "Failed to copy ${configpath}/Make.defs" ; exit 7 ; } +cp -f "${configpath}/setenv.sh" "${TOPDIR}/." || \ + { echo "Failed to copy ${configpath}/setenv.sh" ; exit 8 ; } chmod 755 "${TOPDIR}/setenv.sh" -cp -f "${BOARDDIR}/defconfig" "${TOPDIR}/.config" || \ - { echo "Failed to copy ${BOARDDIR}/defconfig" ; exit 1 ; } +cp -f "${configpath}/defconfig" "${TOPDIR}/.config" || \ + { echo "Failed to copy ${configpath}/defconfig" ; exit 9 ; } + +# Copy option appconfig + +if [ ! -z "${appdir}" ]; then + if [ ! -r "${configpath}/appconfig" ]; then + echo "NOTE: No readable appconfig file found in ${configpath}" + else + cp -f "${configpath}/appconfig" "${appdir}/.config" || \ + { echo "Failed to copy ${configpath}/appconfig" ; exit 10 ; } + + echo "" >> "${TOPDIR}/.config" + echo "# Application configuration" >> "${TOPDIR}/.config" + echo "" >> "${TOPDIR}/.config" + echo "CONFIG_BUILTIN_APPS=y" >> "${TOPDIR}/.config" + echo "APPS_LOC=\"$appdir\"" >> "${TOPDIR}/.config" + fi +fi |