Implement recursive mutex
[helenos.git] / tools / check.sh
blob0064eeed653b7cd22c54f246bc9b4af3acc6a510
1 #! /bin/bash
4 # Copyright (c) 2010 Jakub Jermar
5 # All rights reserved.
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
9 # are met:
11 # - Redistributions of source code must retain the above copyright
12 # notice, this list of conditions and the following disclaimer.
13 # - Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in the
15 # documentation and/or other materials provided with the distribution.
16 # - The name of the author may not be used to endorse or promote products
17 # derived from this software without specific prior written permission.
19 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 if [ $1" " == "-h " ];
32 then
33 echo "Perform pre-integration hands-off build of all profiles."
34 echo
35 echo "Syntax:"
36 echo " $0 [-h] [args...]"
37 echo
38 echo " -h Print this help."
39 echo " args... All other args are passed to make (e.g. -j 6)"
40 echo
42 exit
45 FAILED=""
46 PASSED=""
47 PROFILES=""
48 DIRS=`find defaults/ -name Makefile.config | sed 's/^defaults\/\(.*\)\/Makefile.config/\1/' | sort`
50 for D in $DIRS;
52 for H in $DIRS;
54 if [ `echo $H | grep "^$D\/.*"`x != "x" ];
55 then
56 continue 2
58 done
59 PROFILES="$PROFILES $D"
60 done
62 echo ">>> Going to build the following profiles:"
63 echo $PROFILES
65 for P in $PROFILES;
67 echo -n ">>>> Building $P... "
68 ( make distclean && make PROFILE=$P HANDS_OFF=y "$@" ) >>/dev/null 2>>/dev/null
69 if [ $? -ne 0 ];
70 then
71 FAILED="$FAILED $P"
72 echo "failed."
73 else
74 PASSED="$PASSED $P"
75 echo "ok."
77 done
79 echo ">>> Done."
80 echo
82 echo ">>> The following profiles passed:"
83 echo $PASSED
84 echo
86 echo ">>> The following profiles failed:"
87 echo $FAILED
88 echo