# para generar el instalador hay que crear una carpeta donde colocar los archivos, setear la ruta
# al directorio con los fuentes de zinjai en la variable SRC, y ejecutarlo para que cree el arbol
# de directorios con las partes del instalador, copie los archivos y genere el instalador. Este
# instalador generado an est incompleto,
# adems de los archivos que copia y genera este script desde los fuentes de zinjai, 
# tambin se deben colocar en las carpetas creadas binarios de mingw (compilador y otras
# como gdb, file, diff, etc), los binarios de gprof 
# y gprof2dot, los binarios de freeglut y glew, y algunos archivos txt con informacion 
# de licencias y origen de todas estas cosas (todo esto puede obtenerse de alguna
# versin anterior de ZinjaI para Windows)
# Una vez agregados todos los archivos, se debe correr nuevamente este script para actualizar 
# el instalador final.
# 

export WINEPREFIX=$(pwd)/wine

SRC=..

make -j 2 -C $SRC/src -f Makefile.wine || exit 1
make -C $SRC/src_extras -f Makefile.wine || exit 1
make -C $SRC/parser -f Makefile.wine || exit 1

function zmkdir {
  if ! test -d $1;then mkdir $1; fi
}

zmkdir zinjai
    cp -u $SRC/bin/lsdeps.exe zinjai/bin/
    cp -u $SRC/bin/runner.exe zinjai/bin/
    cp -u $SRC/bin/cbrowser.exe zinjai/bin/
    cp -u $SRC/zinjai.exe zinjai/
#    cp -u $SRC/zinjai-w32.dbg zinjai/
#    cp -u $SRC/log.exe zinjai/
    cp -u $SRC/zinjai.dir zinjai/
    cp -u $SRC/bin/img_viewer.exe zinjai/bin/
    cp -u $SRC/bin/complement.exe zinjai/bin/
    cp -u $SRC/bin/complement_wrap.exe zinjai/bin/
    cp -u $SRC/bin/shellexecute.exe zinjai/bin/
    cp -u $SRC/bin/updatem.exe zinjai/bin/
    cp -u $SRC/readme.txt zinjai/
    cp -u $SRC/debug_macros.gdb zinjai/
    zmkdir zinjai/imgs
    cp -u $SRC/imgs/descripcion.txt zinjai/imgs/
    cp -u $SRC/imgs/*.png zinjai/imgs/
    cp -u $SRC/imgs/*.html zinjai/imgs/
    zmkdir fuentes/imgs
    cp -u $SRC/imgs/*.ico fuentes/imgs/
    zmkdir zinjai/imgs/16
      cp -u $SRC/imgs/16/* zinjai/imgs/16/
    zmkdir zinjai/imgs/24
      cp -u $SRC/imgs/24/* zinjai/imgs/24/
    zmkdir zinjai/imgs/32
      cp -u $SRC/imgs/32/* zinjai/imgs/32/
  zmkdir zinjai/skins
    cp -ru $SRC/skins/* zinjai/skins/
  zmkdir zinjai/lang
    cp -ru $SRC/lang/*.pre zinjai/lang/
    cp $SRC/lang/*.txt zinjai/lang/
    rm -f zinjai/lang/spanish.*
    cp $SRC/lang/*.sgn zinjai/lang/
#  zmkdir cppreference/cppreference
#    cp -ru $SRC/cppreference/* cppreference/cppreference
  zmkdir zinjai/guihelp
    cp -u $SRC/guihelp/* zinjai/guihelp/
  zmkdir zinjai/toolchains
    cp -u $SRC/toolchains/* zinjai/toolchains/
  zmkdir zinjai/colours
    cp -u $SRC/colours/* zinjai/colours/
  zmkdir zinjai/templates
    cp -Hru $SRC/templates/default* zinjai/templates/
    cp -Hru $SRC/templates/MakefileBased zinjai/templates/
    cp -Hru $SRC/templates/Biblioteca zinjai/templates/
  zmkdir zinjai/autocomp
    cp -Hru $SRC/autocomp/AAA* zinjai/autocomp/
#    cp -Hru $SRC/autocomp/STL* zinjai/autocomp/
    cp -Hru $SRC/autocomp/Doc* zinjai/autocomp/
#  zmkdir zinjai/graphviz
#    cp -u $SRC/graphviz/*.exe zinjai/third/graphviz/

zmkdir OpenGL
  zmkdir OpenGL/templates
    cp -Hru $SRC/templates/OpenGL OpenGL/templates
    cp -Hru $SRC/templates/opengl-windows.tpl OpenGL/templates
  zmkdir OpenGL/autocomp
    cp -Hru $SRC/autocomp/OpenGL* OpenGL/autocomp

zmkdir fuentes
  cp -u $SRC/compiling.txt fuentes/
  cp -u $SRC/Makefile fuentes/
  cp -u $SRC/zinjai.zpr fuentes/
  zmkdir fuentes/src
    cp -u $SRC/src/* fuentes/src/
  zmkdir fuentes/src_extras
    cp -u $SRC/src_extras/* fuentes/src_extras
  zmkdir fuentes/src_extras/complement
    cp -u $SRC/src_extras/complement/* fuentes/src_extras/complement
  zmkdir fuentes/src_extras/img_viewer
    cp -u $SRC/src_extras/complement/* fuentes/src_extras/img_viewer
#  zmkdir fuentes/src_extras/wx_autocomp
#    cp -u $SRC/src_extras/wx_autocomp/* fuentes/src_extras/wx_autocomp
  zmkdir fuentes/imgs/src
    cp -u $SRC/imgs/src/* fuentes/imgs/src/
  zmkdir fuentes/lang
    cp $SRC/lang/*.src fuentes/lang/
    cp $SRC/lang/spanish.pre fuentes/lang/
  zmkdir fuentes/lang/tools
    cp $SRC/lang/tools/extract_enum.cpp fuentes/lang/tools/
    cp -ru $SRC/lang/tools/mxLangTool fuentes/lang/tools/
    cp -u $SRC/lang/tools/mxLangTool.exe fuentes/lang/tools/
    rm -rf fuentes/lang/tools/mxLangTool/debug.lnx
    rm -rf fuentes/lang/tools/mxLangTool/release.lnx
    rm -rf fuentes/lang/tools/mxLangTool/release.w32
    rm -rf fuentes/lang/tools/mxLangTool/debug.w32
  zmkdir fuentes/parser
    cp -ru $SRC/parser/* fuentes/parser/
    rm -rf fuentes/parser/release.lnx
    rm -rf fuentes/parser/debug.lnx
    rm -rf fuentes/parser/release.w32
    rm -rf fuentes/parser/debug.w32
  zmkdir fuentes/src_extras
    cp -ru fuentes/src_extras/*.nsh .
    rm -rf $SRC/src_extras/wxWidgets
    rm -rf $SRC/src_extras/*.bin 

wine c:/NSIS/makensis.exe /DPRODUCT_VERSION\=`cat fuentes/src/version.h | head -n 1 | cut -d ' ' -f 3` zinjai.nsh || exit 1

echo
echo All done
