Refactor to use new protocol module and sipo.
[bertos.git] / test / get_source_list.sh
index 4755c439e4adebccdf89536e44b492867372b04c..9cb735caefd9b0231ff198864b351772a7545c8d 100755 (executable)
 
 #Directories
 BERTOS_DIR="./bertos"
+COPY_DIR="./bertos.saved"
 CPU_DIR="${BERTOS_DIR}/cpu"
 
 #Directory to exclude
 OS_DIR="${BERTOS_DIR}/os"
 EMUL_DIR="${BERTOS_DIR}/emul"
-APP_DIR="./app"
+WIZARD_DIR="./wizard"
+APP_DIR="./examples ./boards"
+FAT_DIR="${BERTOS_DIR}/fs/fatfs"
+NMEA_DIR="${BERTOS_DIR}/net/nmeap"
+LWIP_DIR="${BERTOS_DIR}/net/lwip ${BERTOS_DIR}/net/lwip.c"
 
 if [ $# \< 2 ] ; then
        printf "You must specify a cpu target, and source file type!\n"
@@ -45,16 +50,47 @@ if [ $# \< 2 ] ; then
 
        exit 1
 fi
+CPU_TARGET=$1
+EXCLUDE_DIRS="$COPY_DIR $CPU_DIR $APP_DIR $OS_DIR $WIZARD_DIR $EMUL_DIR $FAT_DIR $NMEA_DIR $LWIP_DIR ${BERTOS_DIR}/sec"
+EXCLUDE_CMD="\.svn -prune "
+for i in $EXCLUDE_DIRS; do 
+       EXCLUDE_CMD="$EXCLUDE_CMD -o -path $i -prune ";
+done
 
-#Create a list of source file whitout a cpu specific source
-GEN_SRC=`find . \( -name '\.svn' -prune -o -path $CPU_DIR -prune -o -path $APP_DIR  -prune -o -path $OS_DIR -prune -o -path $EMUL_DIR -prune \) -o -name "*.${2}" -print | xargs`
+#Create a list of source file without a cpu specific source
+GEN_SRC=`find . \( -name $EXCLUDE_CMD \) -o -name *.${2} -print | xargs`
 
 #Select c and asm sources for selected cpu target
-TRG_SRC=`find ${CPU_DIR}/${1} -name "\.svn" -prune -o -name "*.${2}" -print | xargs`
+TRG_SRC=`find ${CPU_DIR}/$CPU_TARGET -name \.svn -prune -o -name *.${2} -print | xargs`
 
 #Generate a list of all source for each cpu
 SRC_ALL=${GEN_SRC}" "${TRG_SRC}
 
+# Find the files that contain the string
+# NOTEST <cpu target>
+# or
+# NOTEST all
+# and put them in a list
+
+NOTEST="notest:"
+for src in $SRC_ALL ;
+do
+       grep -P "$NOTEST\s*$CPU_TARGET" $src 2>&1 > /dev/null
+       if [ $? -eq 0 ] ; then
+               EXCLUDE_LIST="$EXCLUDE_LIST $src"
+       fi
+       grep -P "$NOTEST\s*all" $src 2>&1 > /dev/null
+       if [ $? -eq 0 ] ; then
+               EXCLUDE_LIST="$EXCLUDE_LIST $src"
+       fi
+done
+
+# Remove the exclude list files from the sources to be
+# compiled
+for src in $EXCLUDE_LIST ;
+do
+       SRC_ALL=`echo $SRC_ALL | sed -e "s;$src;;g"`
+done
 
 printf "${SRC_ALL}"