Silence TODO and FIXME in nightly test.
[bertos.git] / test / get_source_list.sh
1 #!/bin/bash
2 # This file is part of BeRTOS.
3 #
4 # Bertos is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17 #
18 # As a special exception, you may use this file as part of a free software
19 # library without restriction.  Specifically, if other files instantiate
20 # templates or use macros or inline functions from this file, or you compile
21 # this file and link it with other files to produce an executable, this
22 # file does not by itself cause the resulting executable to be covered by
23 # the GNU General Public License.  This exception does not however
24 # invalidate any other reasons why the executable file might be covered by
25 # the GNU General Public License.
26 #
27 # Copyright 2008 Develer S.r.l. (http://www.develer.com/)
28 #
29 # Nighlty test for BeRTOS.
30 #
31 # Author Daniele Basile <asterix@develer.com>
32
33 #Directories
34 BERTOS_DIR="./bertos"
35 COPY_DIR="./bertos.saved"
36 CPU_DIR="${BERTOS_DIR}/cpu"
37
38 #Directory to exclude
39 OS_DIR="${BERTOS_DIR}/os"
40 EMUL_DIR="${BERTOS_DIR}/emul"
41 APP_DIR="./app"
42
43 if [ $# \< 2 ] ; then
44         printf "You must specify a cpu target, and source file type!\n"
45         printf "EXAMPLE:\n $0 <cpu target> <source type>\n\n"
46
47         exit 1
48 fi
49 CPU_TARGET=$1
50 #Create a list of source file without a cpu specific source
51 GEN_SRC=`find . \( -name \.svn -prune -o -path $COPY_DIR -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`
52
53 #Select c and asm sources for selected cpu target
54 TRG_SRC=`find ${CPU_DIR}/$CPU_TARGET -name \.svn -prune -o -name *.${2} -print | xargs`
55
56 #Generate a list of all source for each cpu
57 SRC_ALL=${GEN_SRC}" "${TRG_SRC}
58
59 # Find the files that contain the string
60 # NOTEST <cpu target> and put it in a list
61
62 NOTEST="notest:"
63 for src in $SRC_ALL ;
64 do
65         grep "$NOTEST\s*$CPU_TARGET" $src 2>&1 > /dev/null
66         if [ $? -eq 0 ] ; then
67                 EXCLUDE_LIST="$EXCLUDE_LIST $src"
68         fi      
69 done
70
71 # Remove the exclude list files from the sources to be
72 # compiled
73 for src in $EXCLUDE_LIST ;
74 do
75         SRC_ALL=`echo $SRC_ALL | sed -e "s;$src;;g"`
76 done
77
78 printf "${SRC_ALL}"
79