blob: f25d7ef90c7958542dc19357c46fe9c499eaa97f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#!/bin/sh
BASE="$(pwd)";
BUILD_LOG="$BASE/build.log";
BUILD_LOG2="$BASE/build.log2";
BUILD_DIR="$BASE/__tests";
CC="sdcc";
CPPFLAGS="";
CFLAGS="--use-non-free";
LDFLAGS="";
LIBS="";
cleanup()
{
rm -f "$BUILD_LOG2";
rm -rf "$BUILD_DIR";
}
if [ -e "$BUILD_DIR" ]; then
echo "$BUILD_DIR already there -- exiting.";
exit 1;
fi;
{ mkdir -p "$BUILD_DIR" && cd "$BUILD_DIR"; } || exit 1;
trap "cleanup" INT;
cat > sample.c <<EOT
#include <pic14regs.h>
void foo(char *c)
{
if (*c)
*c = 1;
}
void main()
{
OPTION_REG = PCLATH;
INTCON = 0;
}
EOT
sed -e 's/\s*#.*$//' ../devices.txt | grep -v '^\s*$' | while read PROC; do
printf "### Compiling for $PROC: ";
OK="FAILED";
echo "$CC" -V $CPPFLAGS $CFLAGS $LDFLAGS -mpic14 -p$PROC -o test-$PROC sample.c $LIBS > "$BUILD_LOG2";
"$CC" -V $CPPFLAGS $CFLAGS $LDFLAGS -mpic14 -p$PROC -o test-$PROC sample.c $LIBS >> "$BUILD_LOG2" 2>&1 && OK="ok";
cat "$BUILD_LOG2" >> "$BUILD_LOG";
printf "$OK\n";
case "$OK" in
ok)
;;
*)
cat "$BUILD_LOG2";
printf "\n";
;;
esac;
done;
cd "$BASE";
cleanup;
|