-# $Id: Jamfile,v 1.42 2004/03/29 00:28:39 titer Exp $
+# $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/>.
+# Homepage: <http://handbrake.fr/>.
# It may be used under the terms of the GNU General Public License.
SubDir TOP ;
# libhb + contrib libraries
-HB_LIBS = libhb.a liba52.a libavcodec.a libdvdplay.a libdvdread.a
- libdvdcss.a libfaac.a libmp3lame.a libmp4v2.a libmpeg2.a
- libvorbis.a libvorbisenc.a libogg.a libx264.a libxvidcore.a ;
+HANDBRAKE_LIBS = libhb.a
+ contrib/lib/liba52.a contrib/lib/libavformat.a
+ contrib/lib/libavcodec.a contrib/lib/libavutil.a
+ contrib/lib/libdca.a contrib/lib/libdvdread.a
+ contrib/lib/libmp4v2.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
+ contrib/lib/libmkv.a contrib/lib/libswscale.a
+ contrib/lib/libtheora.a contrib/lib/libfaad.a ;
+
+if $(OS) = UNKNOWN
+{
+ OS = CYGWIN ;
+}
+
+if $(OS) = CYGWIN
+{
+ HANDBRAKE_LIBS = $(HANDBRAKE_LIBS) contrib/lib/libbz2.a contrib/lib/libz.a ;
+}
+
+if $(CSS) = 1
+{
+ HANDBRAKE_LIBS = $(HANDBRAKE_LIBS) contrib/lib/libdvdcss.a ;
+}
# Interfaces
-TEST_BIN = HBTest ;
-TEST_SRC = test/test.c ;
+CLI_BIN = HandBrakeCLI ;
+CLI_SRC = test/test.c
+ test/parsecsv.c ;
BEOS_BIN = HandBrake ;
-BEOS_SRC = beos/HBApp.cpp beos/HBWindow.cpp ;
-GTK2_BIN = gtk2HB ;
-GTK2_SRC = gtk2/main.c gtk2/callbacks.c gtk2/interface.c gtk2/support.c ;
-GUI_BIN = $(TEST_BIN) $(BEOS_BIN) $(GTK2_BIN) ;
-GUI_SRC = $(TEST_SRC) $(BEOS_SRC) $(GTK2_SRC) ;
+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 = $(CLI_BIN) $(BEOS_BIN) $(WX_BIN) ;
+UI_SRC = $(CLI_SRC) $(BEOS_SRC) $(WX_SRC) ;
# CLI app
-Main $(TEST_BIN) : $(TEST_SRC) ;
+# Don't build the CLI from here if MACOSX, let xcode build it :)
+if $(OS) != MACOSX
+{
+ Main $(CLI_BIN) : $(CLI_SRC) ;
+}
if $(OS) = BEOS
{
- # Avoid multichar warnings caused by BeOS system headers
- CCFLAGS = -Wno-multichar ;
- C++FLAGS = -Wno-multichar ;
+ Main HandBrake : $(BEOS_SRC) ;
- SystemLibraries HandBrake : -lbe ;
- # BeOS GUI is broken at the moment
- # Main HandBrake : $(SRC_BEOS) ;
+ BeOSPackage HandBrake-$(HB_VERSION)-BeOS.zip : HandBrake ;
+ HB_PACKAGES += HandBrake-$(HB_VERSION)-BeOS.zip ;
}
-
if $(OS) = MACOSX
{
- # Needed to clean HandBrake.app
- RM = rm -rf ;
-
- OSX_SRC = macosx/Controller.h macosx/Controller.mm
- macosx/PictureGLView.h macosx/PictureGLView.mm
- macosx/TargetSizeField.h macosx/TargetSizeField.mm
- macosx/main.mm ;
-
- OSXApp HandBrake.app : $(OSX_SRC) $(HB_LIBS) ;
+ OSX_SRC = macosx/main.mm macosx/Controller.h macosx/Controller.mm
+ macosx/PictureController.h macosx/PictureController.mm
+ macosx/HBQueueController.h macosx/HBQueueController.mm
+ macosx/HBAdvancedController.h macosx/HBAdvancedController.m
+ macosx/HBImageAndTextCell.h macosx/HBImageAndTextCell.m
+ macosx/HBPreferencesController.h macosx/HBPreferencesController.m
+ macosx/HBPresets.h macosx/HBPresets.m
+ macosx/English.lproj/InfoPlist.strings ;
+
+ OSXApp HandBrake.app : $(OSX_SRC) $(HANDBRAKE_LIBS) ;
# Package
OSXPackage HandBrake-$(HB_VERSION)-OSX.zip : HandBrake.app ;
- PACKAGES += HandBrake-$(HB_VERSION)-OSX.zip ;
+ HB_PACKAGES += HandBrake-$(HB_VERSION)-OSX.zip ;
}
-
if $(OS) = LINUX
{
- SystemLibraries $(TEST_BIN) : -lpthread ;
- SystemLibraries $(GTK2_BIN) : -lpthread `pkg-config gtk+-2.0 --libs` ;
- ObjectCcFlags $(GTK2_SRC) : `pkg-config gtk+-2.0 --cflags` ;
- Main $(GTK2_BIN) : $(GTK2_SRC) ;
+ # WX UI outdated
+ #SystemLibraries $(WX_BIN) : -lpthread `wx-config --libs` ;
+ #ObjectC++Flags $(WX_SRC) : `wx-config --cflags` ;
+ #Main $(WX_BIN) : $(WX_SRC) ;
}
-ObjectHdrs $(GUI_SRC) : $(TOP)/core ;
-ObjectCcFlags $(GUI_SRC) : -g -Wall ;
-ObjectC++Flags $(GUI_SRC) : -g -Wall ;
-LinkLibraries $(GUI_BIN) : $(HB_LIBS) ;
-
+if $(OS) != MACOSX
+{
+ ObjectHdrs $(UI_SRC) : $(TOP)/libhb ;
+ LinkLibraries $(UI_BIN) : $(HANDBRAKE_LIBS) ;
+}
# Packages
NotFile package ;
Depends package : $(HB_PACKAGES) ;
SubInclude TOP contrib ;
-SubInclude TOP core ;
-
+SubInclude TOP libhb ;