#!/bin/bash

BUILD_TYPE="debug"

while [[ $# > 0 ]];do
	case $1 in
		--release)
			BUILD_TYPE="release"
			shift
			;;
		*|-*|--*)
			echo "Unknown option $1"
			exit 1
			;;
	esac
done

CC=clang

if [[ $BUILD_TYPE == "release" ]]; then
	CFLAGS="-O3 -Wall -Werror -pedantic"
else
	CFLAGS="-g -Wall -Werror -pedantic -fsanitize=address -fsanitize=undefined -DDEBUG"
fi

INCLUDES="\
	-I$(find ./src -type d | xargs -I{} echo -n "-I{} ") \
	$(find intern/wizapp/src -type d | xargs -I{} echo -n "-I{} ") \
	$(pkg-config --cflags sdl2) \
"
LIBS="\
	-lm \
	-pthread \
	$(pkg-config --libs sdl2) \
"
SRC="\
	$(find ./src -name "*.c" | xargs -I{} echo -n "{} ") \
	$(find intern/wizapp/src -type f -name "*.c" | xargs -I{} echo -n "{} ") \
"
OUT=tiffread

( set -x ; $CC $CFLAGS $INCLUDES $LIBS $SRC -o $OUT )