123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/bin/sh
- set -euo pipefail
- #IFS=$'\n\t'
- CFLAGS=${CFLAGS:-}
- LDFLAGS=${LDFLAGS:-}
- ASAN=
- DEBUG=
- RPI=
- RPI_ROOT=${RPI_ROOT:-'/opt/raspberry-pi'}
- SOURCES='OpenSource.c bsp.c atlas.c filemap.c collection.c'
- WERROR='-Werror'
- CFLAGS="-D_POSIX_C_SOURCE=200809L $CFLAGS"
- while [ $# -gt 0 ]
- do
- case "$1" in
- -D) DEBUG=1;;
- -P) RPI=1;;
- -S) ASAN=1;;
- -W) WERROR='';;
- esac
- shift
- done
- if [ $ASAN ]
- then
- CFLAGS="-fsanitize=address $CFLAGS"
- fi
- if [ $DEBUG ]
- then
- CFLAGS="-O0 -g $CFLAGS"
- else
- CFLAGS="-O3 $CFLAGS"
- fi
- if [ $RPI ]
- then
- RPI_TOOLCHAIN=${RPI_TOOLCHAIN:-"gcc-linaro-arm-linux-gnueabihf-raspbian-x64"}
- RPI_TOOLCHAINDIR=${RPI_TOOLCHAINDIR:-"$RPI_ROOT/raspberry-tools/arm-bcm2708/$RPI_TOOLCHAIN"}
- RPI_VCDIR=${RPI_VCDIR:-"$RPI_ROOT/raspberry-firmware/hardfp/opt/vc"}
- CC=${CC:-"$RPI_TOOLCHAINDIR/bin/arm-linux-gnueabihf-gcc"}
- CFLAGS="-std=gnu99 -Wall -Wextra $WERROR $CFLAGS"
- CFLAGS="-I$RPI_VCDIR/include -I$RPI_VCDIR/include/interface/vcos/pthreads $CFLAGS"
- CFLAGS="-I$RPI_VCDIR/include/interface/vmcs_host/linux -DATTO_PLATFORM_RPI $CFLAGS"
- LDFLAGS="-lGLESv2 -lEGL -lbcm_host -lvcos -lvchiq_arm -L$RPI_VCDIR/lib -lrt -lm $LDFLAGS"
- SOURCES+=' 3p/atto/src/app_linux.c 3p/atto/src/app_rpi.c'
- else
- CC=${CC:-clang}
- CFLAGS="-std=c99 -Wall -Wextra -pedantic $WERROR $CFLAGS"
- LDFLAGS="-lm -lGL -lX11 -lXfixes $LDFLAGS"
- SOURCES+=' 3p/atto/src/app_linux.c 3p/atto/src/app_x11.c'
- fi
- CFLAGS="-I3p/atto -fPIE -pie $CFLAGS"
- echo $CC $CFLAGS $SOURCES $LDFLAGS -o OpenSource
- $CC $CFLAGS $SOURCES $LDFLAGS -o OpenSource
|