summaryrefslogtreecommitdiffhomepage
path: root/examples/runall.sh
blob: 440bdc34d1782e498c0849c08218fc02338b6654 (plain)
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
#!/bin/bash
cc='gcc -O2 -Wall -std=c99 -pedantic'
#cc='clang'
#cc='clang -c -DSTC_HEADER'
#cc='cl -nologo'
#cc='cl -nologo -TP'
#cc='cl -nologo -std:c11'
libs=''
run=0
if [ -z "$OS" ]; then
    libs='-lm -pthread'
fi
if [ "$1" == '-h' -o "$1" == '--help' ]; then
  echo usage: runall.sh [-run] [compiler + options]
  exit
fi
if [ "$1" == '-run' ]; then
  run=1
  shift
fi
if [ ! -z "$1" ] ; then
    cc=$@
fi
if [ $run = 0 ] ; then
    for i in *.c ; do
        echo $cc -I../include $i $libs
        ../checkauto $i
        $cc -I../include $i $libs
    done
else
    for i in *.c ; do
        echo $cc -I../include $i $libs
        $cc -I../include $i $libs
        if [ -f $(basename -s .c $i).exe ]; then ./$(basename -s .c $i).exe; fi
        if [ -f ./a.exe ]; then ./a.exe; fi
        if [ -f ./a.out ]; then ./a.out; fi
    done
fi

rm -f a.out *.o *.obj *.exe