#!/bin/sh

# Cross-compile from Linux to Win32 using mingw32 cross-compiler as
# provided by Debian.  This is rather hard-coded to my setup, I'm
# afraid.

TMP=tmp-win
COPT="-O6 -s"
OPT="$COPT -c -DT_MINGW -Dmain=SDL_main -I /home/jim/win/msys/1.0/mingw/include"
GCC=i586-mingw32msvc-gcc

[ ! -d $TMP ] && { mkdir $TMP || exit 1; }

OBJ=""
for xx in \
  display.c \
  filter.c \
  graphics.c \
  helptext.c \
  fidlib/fidlib.c \
  strstream.c \
  scratch.c \
  fiview.c 
do
    obj=${xx%.c}
    obj=$obj.o
    obj=${obj#fidlib/}
    rm -f $obj 2>/dev/null
    echo "=== $xx"
    $GCC $OPT -Dvsnprintf=_vsnprintf $xx || { echo "FAILED"; exit 1; }
    mv $obj $TMP || { echo "Output $obj missing"; exit 1; }
    OBJ="$OBJ $TMP/$obj"
done

echo "=== linking"
$GCC $COPT main_redir.c $OBJ -L/home/jim/win/msys/1.0/mingw/lib \
    -lmingw32 -lSDLmain -lSDL -lm -o ../fiview.exe || 
{ echo "FAILED"; exit 1; }
