X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=tools%2Fbake;h=dfeefb6a9f5bd622d52316c7bd1f7f9316fc41ef;hb=e0467a3b7ccda77d1a75405e21c9723c72d33002;hp=3b15bcd4cd0fd069a99c01faddd6575ff8900f88;hpb=04a13a6fec5593523e15bd3567c573b7749b2609;p=svn%2FCll1h%2F.git diff --git a/tools/bake b/tools/bake index 3b15bcd..dfeefb6 100755 --- a/tools/bake +++ b/tools/bake @@ -1,48 +1,59 @@ #!/bin/bash -CONF=/etc/bake.conf +CONF="/etc/bake.conf" CLL1CC=`which gcc` -EXE=`basename $1 .c` +CFLAGS="-std=c99 -Wall" DEBUG=n function debugecho { if [ $DEBUG == y ] then - echo $1 + echo $1 fi } if [ "$1" == "" ] || [ "$EXE" == "$1" ] then - echo "Usage: bake filename.c" - exit + echo "Usage: bake source.c or bake target" + exit else - debugecho "Filename: $1" -fi + while [ "$1" != "" ] + do + EXE=`basename $1 .c` + if [ $1 == $EXE ] + then + SRC=$EXE.c + else + SRC=$1 + fi + debugecho "Filename: $SRC" + + LIBNAMES=`grep "^#define" $SRC|grep USE_LIBRARY_|cut -f 2 -d " "` + if ! [ -z "$LIBNAMES" ] + then + debugecho "Libraries: $LIBNAMES" + LIBS="" + for F in $LIBNAMES + do + LIBS="$LIBS `grep $F $CONF|cut -f 2 -d \ `" + done + fi -LIBNAMES=`grep "^#define" $1|grep USE_LIBRARY_|cut -f 2 -d " "` -if ! [ -z "$LIBNAMES" ] -then - debugecho "Libraries: $LIBNAMES" - LIBS="" - for F in $LIBNAMES - do - LIBS="$LIBS `grep $F $CONF|cut -f 2 -d \ `" - done -fi + PRENAMES=`grep "^#define" $SRC|grep USE_PREPROCESSOR_|cut -f 2 -d " "` + if ! [ -z "$PRENAMES" ] + then + debugecho "Precompilers: $PRENAMES" + for F in $PRENAMES + do + CMD=`grep $F $CONF|cut -f 2 -d " "` + gecho "$CMD" + $CMD + done + fi -PRENAMES=`grep "^#define" $1|grep USE_PREPROCESSOR_|cut -f 2 -d " "` -if ! [ -z "$PRENAMES" ] -then - debugecho "Precompilers: $PRENAMES" - for F in $PRENAMES - do - CMD=`grep $F $CONF|cut -f 2 -d " "` - gecho "$CMD" - $CMD - done + CMD="$CLL1CC $SRC -o $EXE $CFLAGS $LIBS" + echo "$CMD" + $CMD + shift + done fi - -CMD="$CLL1CC $1 -o $EXE $LIBS" -echo "$CMD" -$CMD