Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

FreeBasic Compile Skript

Uploader:RedakteurSt_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