aboutsummaryrefslogtreecommitdiff
path: root/build.sh
blob: ad7d66bcbc8d84a9492c30246de09f9fa4ba25fa (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
#!/bin/bash

set -e

source build.env

INC="-Iteensy -Iteensy/platform/$PLATFORM -Idc -Ieditor"
WARN="-Wall -Wextra -Werror -Wno-error=unused-variable"
WARN="$WARN -Wno-error=unused-function -Wno-error=unused-parameter"
WARN="$WARN -Wno-override-init-side-effects" # Dumb warning. Dreadful.
CFLAGS="$INC $WARN -std=c99 -D_XOPEN_SOURCE=700 -O2" LDFLAGS=-lm

DO_RUN=0

for flag in $@; do
    case $flag in
        'debug')
            CFLAGS="$DBFLAGS $CFLAGS"
            ;;
        'run')
            DO_RUN=1
            ;;
    esac
done

if [ "$PLATFORM" == 'desktop' ]; then
    LDFLAGS="$LDFLAGS ./libglfw3.a"
fi

SRC=$(find dc teensy platform/$PLATFORM editor -name '*.c' | tr '\n' ' ')

execute() {
    echo $1
    eval $1
}

time execute "$CC -o $OUT $SRC $CFLAGS $LDFLAGS"

[ "$DO_RUN" -eq 1 ] && $RUN_CMD ./$OUT