#!/bin/bash

function clean_all () {
   echo -n ""
}

function make_all () {
   LIBTI99_DIR=`realpath ../libti99`
   LIBUNIX99R3_DIR=`realpath ../unix99r3`
   TOOLS_DIR=`realpath ../tools`
   docker run --rm -v ${LIBUNIX99R3_DIR}:/libunix99r3 -v ${LIBTI99_DIR}:/libti99 -v ${TOOLS_DIR}:/tools -v `pwd`:`pwd` -w `pwd` cmcureau/tms9900-gcc make -j13 $1 2>&1 | grep -v "The requested image"
}

function make_programs () {
   cd ${BUILD_DIR}

   BASE_DIR=${1}
   EXES="${2}"
   
   IMAGE_DIR=../../image/${BASE_DIR}
   for EXE in ${EXES}
   do
      C2UBIN_FILE=${EXE}.c2ubin
      if [ -e ${C2UBIN_FILE} ]
      then
         FINAL_FILE=${IMAGE_DIR}/${EXE}
         ../../tools/xdt99/xdm99.py -T "${C2UBIN_FILE}" -f INT/FIX255 -n "${EXE}" -o "${FINAL_FILE}"
      else
         echo could not find ${C2UBIN_FILE}
      fi
   done

   cd ..
}

# the main program

BUILD_DIR=build

# make all compile-link or clean
make_all $1

# check if clean operation
if [ "$1" == "clean" ]
then
   # clean the image directories
   clean_all
else
   echo remove icloud versioning files
   find . -name "* *" -exec rm {} \;

   # make the executables
   echo "make_programs"
   make_programs home/test "hello"

   echo build distribution
   ../build_distro
   
   echo build mame hd
   ../build_mame_image

fi
