#!/usr/bin/env bash

set -e

OS="$1"
ARCH="$2"
EXPORT="$3"
JSONL="blis/_src/make/$OS-$ARCH.jsonl"

cd flame-blis
if [ ! -f $JSONL ]; then
    echo "Compile"
    if [[ "$OS" == "windows" ]]; then
        mingw32-make clean
        ./configure --disable-blas --disable-cblas --disable-shared --disable-threading --int-size=64 --enable-verbose-make --enable-arg-max-hack $ARCH
        mingw32-make -j 4 > make.log
    else
        make clean
        ./configure --disable-blas --disable-cblas --disable-shared --disable-threading --int-size=64 --enable-verbose-make --export-shared=all $ARCH
        make > make.log 
    fi
    echo "Preprocess make log"
    cat make.log | python ../bin/munge_make_log.py $OS $ARCH > ../$JSONL
    mkdir -p ../blis/_src/include/$OS-$ARCH/
    cp include/$ARCH/blis.h ../blis/_src/include/$OS-$ARCH/blis.h
fi

if [[ "$EXPORT" == "--export" ]]; then
  mkdir -p ../artifacts/
  cp ../blis/_src/include/$OS-$ARCH/blis.h ../artifacts/blis-$OS-$ARCH.h
  cp ../blis/_src/make/$OS-$ARCH.jsonl ../artifacts/$OS-$ARCH.jsonl;
fi
