FreeCalypso > hg > freecalypso-sw
view nuc-fw/cfgmagic/processconf.sh @ 121:15e972110527
RVM compiles
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Thu, 31 Oct 2013 00:55:14 +0000 |
parents | ccde45a06737 |
children | 28f967578233 |
line wrap: on
line source
#!/bin/sh # The top level Makefile invokes this Bourne shell script after ensuring # that the build.conf file is present. The job of this script is to grok # that configuration file and to produce include/config.{h,mk,m4} files # corresponding to the selected configuration. # # The current directory is expected to be the top level of nuc-fw, i.e., # all fragments are sourced as cfgmagic/blah. # Don't run this script directly - let the Makefile do it for you. set -e . cfgmagic/functions TARGET= c_export_list= mk_export_list= m4_export_list= . ./build.conf if [ -z "$TARGET" ] then echo "Error: target not set in build.conf" 1>&2 exit 1 fi # Once we get some actual functionality, the following definitions # will likely depend on the target and feature configuration, # but for now all we have is a FreeNucleus RTOS demo. BUILD_COMPONENTS="nucdemo nucleus sprintf sysglue" export_to_mk BUILD_COMPONENTS BUILD_DEFAULT_IMAGE=ramImage export_to_mk BUILD_DEFAULT_IMAGE # Now generate the output files! parse_export_list() { for var in $1 do eval "value=\"\$$var\"" emit_def "$var" "$value" done } # make config.h emit_def() { echo "#define $1 $2" >> include/config.h } : > include/config.h parse_export_list "$c_export_list" # make config.mk emit_def() { echo "$1= $2" >> include/config.mk } : > include/config.mk parse_export_list "$mk_export_list" # make config.m4 emit_def() { echo 'define(`'"$1'"',`'"$2')dnl" >> include/config.m4 } : > include/config.m4 parse_export_list "$m4_export_list"