# $Id: Jamfile,v 1.86 2005/11/04 13:09:40 titer Exp $
#
# This file is part of the HandBrake source code.
# Homepage: <http://handbrake.m0k.org/>.
# It may be used under the terms of the GNU General Public License.

SubDir TOP ;

# libhb + contrib libraries
HB_LIBS = libhb.a
          contrib/lib/liba52.a        contrib/lib/libavformat.a
          contrib/lib/libavcodec.a    contrib/lib/libavutil.a
          contrib/lib/libdvdread.a    contrib/lib/libdvdcss.a
          contrib/lib/libfaac.a       contrib/lib/libmp3lame.a
          contrib/lib/libmpeg2.a      contrib/lib/libvorbis.a
          contrib/lib/libvorbisenc.a  contrib/lib/libogg.a
          contrib/lib/libsamplerate.a contrib/lib/libx264.a
          contrib/lib/libxvidcore.a ;

# Interfaces
TEST_BIN = HBTest ;
TEST_SRC = test/test.c ;
BEOS_BIN = HandBrake ;
BEOS_SRC = beos/HBApp.cpp beos/MainWindow.cpp beos/ScanWindow.cpp
           beos/PicWindow.cpp beos/Stepper.cpp beos/QueueWindow.cpp ;
WX_BIN   = wxHB ;
WX_SRC   = wx/hbWizard.cpp wx/wxHB.cpp ;
UI_BIN   = $(TEST_BIN) $(BEOS_BIN) $(WX_BIN) ;
UI_SRC   = $(TEST_SRC) $(BEOS_SRC) $(WX_SRC) ;

# CLI app
Main $(TEST_BIN) : $(TEST_SRC) ;

if $(OS) = BEOS
{
    Main HandBrake : $(BEOS_SRC) ;

    BeOSPackage HandBrake-$(HB_VERSION)-BeOS.zip : HandBrake ;
    HB_PACKAGES += HandBrake-$(HB_VERSION)-BeOS.zip ;
}
if $(OS) = MACOSX
{
    OSX_SRC = macosx/main.mm macosx/Controller.h macosx/Controller.mm
              macosx/ScanController.h macosx/ScanController.mm
              macosx/PictureController.h macosx/PictureController.mm
              macosx/PictureGLView.h macosx/PictureGLView.mm
              macosx/QueueController.h macosx/QueueController.mm
              macosx/PrefsController.h macosx/PrefsController.m
              macosx/English.lproj/InfoPlist.strings
              macosx/English.lproj/MainMenu.nib/classes.nib
              macosx/English.lproj/MainMenu.nib/info.nib
              macosx/English.lproj/MainMenu.nib/keyedobjects.nib
              macosx/ExpressController.h macosx/ExpressController.m
              macosx/English.lproj/Express.nib/classes.nib
              macosx/English.lproj/Express.nib/info.nib
              macosx/English.lproj/Express.nib/keyedobjects.nib ;
              
    OSXApp HandBrake.app : $(OSX_SRC) $(HB_LIBS) ;
    
    # Package
    OSXPackage HandBrake-$(HB_VERSION)-OSX.zip : HandBrake.app ;
    HB_PACKAGES += HandBrake-$(HB_VERSION)-OSX.zip ;
}
if $(OS) = LINUX
{
    # WX UI outdated
    #SystemLibraries $(WX_BIN) : -lpthread `wx-config --libs` ;
    #ObjectC++Flags  $(WX_SRC) : `wx-config --cflags` ;
    #Main            $(WX_BIN) : $(WX_SRC) ;
}

ObjectHdrs     $(UI_SRC) : $(TOP)/libhb ;
LinkLibraries  $(UI_BIN) : $(HB_LIBS) ;

# Packages
NotFile package ;
Depends package : $(HB_PACKAGES) ;

SubInclude TOP contrib ;
SubInclude TOP libhb ;