# $Id: Jamrules,v 1.59 2005/11/04 16:06:21 titer Exp $
#
# This file is part of the HandBrake source code.
# Homepage: <http://handbrake.fr/>.
# It may be used under the terms of the GNU General Public License.

include config.jam ;

if ! $(DEFINES)
{
    Exit "Please run ./configure first." ;
}

# This line needs to be manually bumped for each release.
HB_VERSION  = 0.9.3 ;

# If the user configured with the --snapshot argument,
# generate  version and build numbers that include
# the svn revision and are marked as unstable.
if $(SNAPSHOT) = 1
{
HB_VERSION = "svn$(SVN_REV)" ;
HB_BUILD = "$(BUILD_DATE)01" ;
APPCAST_URL = "http://handbrake.fr/appcast_unstable.xml" ;
}
else
{
HB_BUILD = "$(BUILD_DATE)00" ;
APPCAST_URL = "http://handbrake.fr/appcast.xml" ;
}

DEFINES    += HB_VERSION=\\\"$(HB_VERSION)\\\" HB_BUILD=$(HB_BUILD) ;
LANGUAGES   = fr de it pl ru nl es pt ja ;
RM          = rm -rf ;

# Build HandBrake.app using Xcode --
# Getting the right version and build numbers
# requires editing the .plist and specifying
# extra CFLAGs.
rule OSXApp
{
    Depends     exe   : $(<) ;
    Depends     $(<)  : $(>) ;
    Clean       clean : $(1) macosx/build ;
}
actions OSXApp
{
    $(RM) $(<) macosx/build/HandBrake.app && \
      ( cd macosx && \
        xcodebuild HB_BUILD="$(HB_BUILD)" HB_VERSION="$(HB_VERSION)" APPCAST_URL="$(APPCAST_URL)" -target libhb -target HandBrake -target HandBrakeCLI ) && \
      for i in $(LANGUAGES) ; do \
        ( cd $(<)/Contents/Resources && \
          cp -r English.lproj $i.lproj && \
          cp ../../../macosx/i18n/$i.strings \
            $i.lproj/Localizable.strings ) \
      done ;
}
rule OSXPackage 
{
    Depends $(<) : $(>) ;
}   
actions OSXPackage
{                 
    rm -rf $(<) "HandBrake $(HB_VERSION)" && \
      mkdir "HandBrake $(HB_VERSION)" && \
      cp AUTHORS "HandBrake $(HB_VERSION)/AUTHORS.txt" && \
      cp COPYING "HandBrake $(HB_VERSION)/COPYING.txt" && \
      cp CREDITS "HandBrake $(HB_VERSION)/CREDITS.txt" && \
      cp THANKS "HandBrake $(HB_VERSION)/THANKS.txt" && \
      ( echo "[InternetShortcut]" && \
        echo "URL=http://handbrake.fr/" ) > \
        "HandBrake $(HB_VERSION)/HandBrake Homepage.url" && \
      ( echo "[InternetShortcut]" && \
        echo "URL=http://forum.handbrake,fr/" ) > \
        "HandBrake $(HB_VERSION)/HandBrake Forums.url" && \
      ( echo "[InternetShortcut]" && \
        echo "URL=http://handbrake.fr/?article=development" ) > \
        "HandBrake $(HB_VERSION)/Contribute.url" && \
      cp -r HandBrake.app "HandBrake $(HB_VERSION)" && \
      zip -9 -r $(<) "HandBrake $(HB_VERSION)" && \
      rm -rf "HandBrake $(HB_VERSION)"
}

rule BeOSPackage 
{
    Depends         $(<) : $(>) ;
    BuildBeOSPackage $(<) ;
}   
actions BuildBeOSPackage
{                 
    rm -rf $(<) "HandBrake $(HB_VERSION)" && \
      mkdir "HandBrake $(HB_VERSION)" && \
      cp AUTHORS "HandBrake $(HB_VERSION)/AUTHORS.txt" && \
      cp COPYING "HandBrake $(HB_VERSION)/COPYING.txt" && \
      cp CREDITS "HandBrake $(HB_VERSION)/CREDITS.txt" && \
      cp THANKS "HandBrake $(HB_VERSION)/THANKS.txt" && \
      xres -o HandBrake beos/HandBrake.rsrc && \
      cp HandBrake "HandBrake $(HB_VERSION)" && \
      zip -9 -r $(<) "HandBrake $(HB_VERSION)" && \
      rm -rf "HandBrake $(HB_VERSION)"
}