#!/bin/bash

CC=clang
CXX=clang++
CFLAGS="-Wall -Wextra -Iinclude "

if [[ "$1" == "release" ]]; then
	CFLAGS+="-O3"
else
	CFLAGS+="-g"
fi

# generator
GENSRC="./src/generator/gen_argparser.cpp ./src/generator/generator.cpp ./src/haversine.cpp ./src/point_types.cpp ./src/generator/main.cpp"
GENOUT=genhavr

(set -x ; $CXX $CFLAGS $GENSRC -o $GENOUT)

# processor
JSONSRC="./src/json/*.c"
JSONFLAGS="-c"
PROCSRC="./*.o ./src/haversine.cpp ./src/point_types.cpp ./src/processor/proc_argparser.cpp ./src/processor/main.cpp"
PROCOUT=prochavr

(set -x ; $CC $CFLAGS $JSONFLAGS $JSONSRC)
(set -x ; $CXX $CFLAGS $PROCSRC -o $PROCOUT)

rm ./*.o