new bake, new str_order, minor changes
[svn/Cll1h/.git] / tools / bake
index 77ea78d68c8430ccf889b4e7d5568b21aa38b03c..dfeefb6a9f5bd622d52316c7bd1f7f9316fc41ef 100755 (executable)
@@ -2,48 +2,58 @@
 CONF="/etc/bake.conf"
 CLL1CC=`which gcc`
 CFLAGS="-std=c99 -Wall"
-EXE=`basename $1 .c`
 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 $CFLAGS $LIBS"
-echo "$CMD"
-$CMD
This page took 0.227421 seconds and 4 git commands to generate.