#!/bin/bash


RUN_MEMCHECK=0
WHAT_TO_RUN=app
ARCH=$(uname -m)


if [ $# -eq 1 ]; then
    if [ "$1" == "--memcheck" ]; then
        RUN_MEMCHECK=1
    else
        WHAT_TO_RUN=$1
    fi
elif [ $# -eq 2 ]; then
    if [ "$1" == "--memcheck" ]; then
        RUN_MEMCHECK=1
        WHAT_TO_RUN=$2
    else
        WHAT_TO_RUN=$1

        if [ "$2" == "--memcheck" ]; then
            RUN_MEMCHECK=1
        fi
    fi
fi


SCRIPT_DIR=$(readlink -m $(dirname $0))



if [ "$WHAT_TO_RUN" == "example" ]; then
    PROG_PATH=$SCRIPT_DIR/example/booedit.$ARCH
else
    PROG_PATH=$SCRIPT_DIR/out/bin/a.out.$WHAT_TO_RUN
    $SCRIPT_DIR/require $WHAT_TO_RUN
fi


if [ $? -eq 0 ]; then
    if [ $RUN_MEMCHECK -eq 1 ]; then
        valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --track-origins=yes --suppressions=memcheck.supp $PROG_PATH
    else
        $PROG_PATH
    fi
else
    echo "Could not find $WHAT_TO_RUN; have you successfully built?"
    echo
    exit 1
fi

