CLIP="./clip"
CC="clang++"
keep=0

SOURCE=$1
#FILENAME=$(basename "$SOURCE")
FILENAME=$SOURCE
EXTENSION="${FILENAME##*.}"
FILENAME="${FILENAME%.*}"
TARGET=$FILENAME
CFILE="$FILENAME.cc"

#echo "source: $SOURCE, target: $TARGET, cfile: $CFILE"

if [ "$EXTENSION" != "clip" ]; then
    echo "The filename extension should be \"clip\""
    exit 1
fi

shift $((OPTIND))
while getopts ":co:" opt; do
    case $opt in
        c) # Keep .c files
            keep=1
            #echo "ccc, Parameter: $OPTARG"
            ;;
        o) # Specify the output filename
            #echo "ooo, Parameter: $OPTARG"
            TARGET=$OPTARG
            ;;
        \?)
            echo "Invalid option: -$OPTARG"
            exit 1
            ;;
        :)
            echo "Option -$OPTARG requires an argument." >&2
            exit 1
            ;;
    esac
done

$CLIP < $SOURCE > $CFILE

$CC -std=c++11 -stdlib=libc++ -lgmp -I$HOME -O3 $CFILE -o $TARGET

if [ $keep == "0" ]; then
    rm -f $CFILE;
fi
#Run "$CLIP"  "<" $SOURCE "> $CFILE"