fb:porticula NoPaste
FreeBasic Compile Skript
Uploader: | St_W |
Datum/Zeit: | 25.01.2010 00:48:38 |
#!/bin/sh
## FreeBasic Compile-Skript
## Version 0.1
## (c) 2010 Stefan Wurzinger
ShowHelp=false
DoSVNUpdate=false
DoRtLib=false
DoGfxLib=false
DoFBC=false
DoUpdate=false
DoImpLibs=false
if [ $# == 0 ] ; then
echo "Error: Keine Parameter angegeben"
echo
ShowHelp=true ; fi
while [ "$#" -gt "0" ]
do
if [ $1 == "all" ] ; then
DoSVNUpdate=true ; DoRtLib=true ; DoGfxLib=true ; DoFBC=true ; DoUpdate=true; DoImpLibs=true ; fi
if [ $1 == "compile" ] ; then
DoRtLib=true ; DoGfxLib=true ; DoFBC=true ; fi
if [ $1 == "svn" ] ; then
DoSVNUpdate=true ; fi
if [ $1 == "rtlib" ] ; then
DoRtLib=true ; fi
if [ $1 == "gfxlib" ] ; then
DoGfxLib=true ; fi
if [ $1 == "fbc" ] ; then
DoFBC=true ; fi
if [ $1 == "update" ] ; then
DoUpdate=true ; fi
if [ $1 == "implibs" ] ; then
DoImpLibs=true ; fi
if [ $1 == "--?" ] ; then
ShowHelp=true ; fi
shift
done
if [ $ShowHelp != false ] ; then
echo "FBC Compile Skript"
echo "(c) 2010 Stefan Wurzinger"
echo
echo "Kompiliert den FreeBasic Compiler und seine Bibliotheken"
echo
echo "Parameter:"
echo " all Führt alle Aktionen aus"
echo " compile Kompiliert alles"
echo " svn Aktualisiert die SVN Kopie"
echo " rtlib Kompiliert die RtLib"
echo " gfxlib Kompiliert die GfxLib"
echo " fbc Kompiliert den FBC"
echo " update Aktualisiert die FreeBasic-Installation"
echo " implibs Erstellt die Import-Bibliotheken neu"
echo " --? Zeigt diesen Hilfebildschirm an"
echo
exit 0
fi
# SVN Kopie aktualisieren
if [ $DoSVNUpdate != false ]
then
echo "Aktualisiere SVN Version ..."
cd ~/fbcsvn
svn up FreeBASIC
fi
# rtlib erstellen
if [ $DoRtLib != false ]
then
echo "Erstelle RtLib ..."
cd ~/fbcsvn/FreeBASIC/src/rtlib/obj/win32
../../configure
make CFLAGS=-O2 && make CFLAGS=-O2 MULTITHREADED=1
fi
#gfxlib erstellen
if [ $DoGfxLib != false ]
then
echo "Erstelle GfxLib ..."
cd ~/fbcsvn/FreeBASIC/src/gfxlib2/obj/win32
../../configure
make CFLAGS=-O2
fi
#fbc erstellen
if [ $DoFBC != false ]
then
echo "Erstelle FBC ..."
cd ~/fbcsvn/FreeBASIC/src/compiler/obj/win32
../../configure --enable-standalone --enable-crosscomp-cygwin --enable-crosscomp-dos
make FB_BFD=1 BFD_VER=217
fi
#Importbibliotheken generieren
if [ $DoImpLibs != false ]
then
echo "Generiere Importbibliotheken ..."
cp -prfv /FBbin/bin/win32/* ~/fbcsvn/FreeBASIC/bin/win32
cd ~/fbcsvn/FreeBASIC/lib/win32/def/
fbc genimplibs.bas
genimplibs.exe -p win32 -f -a
fi
#FreeBasic Installation aktualisieren
if [ $DoUpdate != false ]
then
echo "Aktualisiere FreeBasic Installation ..."
cp -pfv ~/fbcsvn/FreeBASIC/src/compiler/obj/win32/fbc_new.exe /FBbin/fbc.exe
cp -pfv ~/fbcsvn/FreeBASIC/src/rtlib/obj/win32/*.a /FBbin/lib/win32
cp -pfv ~/fbcsvn/FreeBASIC/src/rtlib/obj/win32/fbrt0.o /FBbin/lib/win32
cp -pfv ~/fbcsvn/FreeBASIC/src/gfxlib2/obj/win32/*.a /FBbin/lib/win32
if [ $DoImpLibs != false ]
then
cp -pfv ~/fbcsvn/FreeBASIC/lib/win32/* /FBbin/lib/win32
fi
cp -prfv ~/fbcsvn/FreeBASIC/inc/* /FBbin/inc
fi
echo
echo "Alle Vorgänge abgeschlossen"
echo "Vielen Dank für die Verwendung dieses Skripts"
echo