X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=Jamfile;h=b0a2199588edad9e6ffb7a5ab0e9411a7a18a605;hb=f3ecb9ed626cda7181aae826f5f56602ff749932;hp=31e4874a2f028b83f6c8d61c0c6aaeb890f1ef59;hpb=978b5df21a0ab14687411c2191f1b6e938ce764d;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/Jamfile b/Jamfile index 31e4874a..b0a21995 100644 --- a/Jamfile +++ b/Jamfile @@ -1,86 +1,97 @@ -# $Id: Jamfile,v 1.33 2003/10/06 21:21:27 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: . +# Homepage: . # It may be used under the terms of the GNU General Public License. -HB_VERSION = 0.3 ; +SubDir TOP ; -# Compilers -C++ = g++ ; -LINK = g++ ; +# libhb + contrib libraries +HANDBRAKE_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/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 ; -# Flags -C++FLAGS = $(CPPFLAGS) ; -C++FLAGS += -g -Wall -Werror ; -C++FLAGS += -DVERSION=\\\"$(HB_VERSION)\\\" -DSYS_$(OS) ; -LINKFLAGS = $(LDFLAGS) ; -HDRS = core ; - -# Optims -C++FLAGS += -funroll-loops ; -OPTIM = -O3 ; - -# Libs -LINKLIBS = -ldvdplay -ldvdread -ldvdcss -lmpeg2 -lavcodec -la52 -lmp3lame ; - -# OS specific -if $(OS) = BEOS +if $(OS) = UNKNOWN { - C++FLAGS += -Wno-multichar ; - LINKLIBS += -lbe ; + OS = CYGWIN ; } -else if $(OS) = LINUX -{ - LINKLIBS += -lpthread ; -} -else if $(OS) = MACOSX + +if $(OS) != CYGWIN { - # needed to clean HandBrake.app - RM = rm -rf ; + HANDBRAKE_LIBS = $(HANDBRAKE_LIBS) contrib/lib/libdvdcss.a ; } -# Do not remove temporary object files -# There MUST be a cleaner way to do this -actions quietly updated piecemeal together RmTemps +# Interfaces +CLI_BIN = HandBrakeCLI ; +CLI_SRC = test/test.c + test/parsecsv.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 = $(CLI_BIN) $(BEOS_BIN) $(WX_BIN) ; +UI_SRC = $(CLI_SRC) $(BEOS_SRC) $(WX_SRC) ; + +# CLI app +# Don't build the CLI from here if MACOSX, let xcode build it :) +if $(OS) != MACOSX { + Main $(CLI_BIN) : $(CLI_SRC) ; } -# Build HandBrake.app using ProjectBuilder -rule OSXApp +if $(OS) = BEOS { - Clean clean : $(1) ; - BuildOSXApp $(1) ; -} + Main HandBrake : $(BEOS_SRC) ; -actions BuildOSXApp + BeOSPackage HandBrake-$(HB_VERSION)-BeOS.zip : HandBrake ; + HB_PACKAGES += HandBrake-$(HB_VERSION)-BeOS.zip ; +} +if $(OS) = MACOSX { - $(RM) HandBrake.app ; - ( cd macosx && pbxbuild ) && mv macosx/build/HandBrake.app . ; - $(RM) macosx/build ; + 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) $(HANDBRAKE_LIBS) ; + + # Package + OSXPackage HandBrake-$(HB_VERSION)-OSX.zip : HandBrake.app ; + HB_PACKAGES += HandBrake-$(HB_VERSION)-OSX.zip ; } - -Library core/libhb : core/Ac3Decoder.cpp core/AviMuxer.cpp - core/Common.cpp core/DVDReader.cpp core/Fifo.cpp - core/Manager.cpp core/Mp3Encoder.cpp - core/Mpeg2Decoder.cpp core/Mpeg4Encoder.cpp - core/MpegDemux.cpp core/Resizer.cpp - core/Scanner.cpp core/Thread.cpp ; - -LinkLibraries HBTest : core/libhb.a ; -Main HBTest : test/Test.cpp ; - -if $(OS) = BEOS +if $(OS) = LINUX { - LinkLibraries HandBrake : core/libhb.a ; - Main HandBrake : beos/HandBrake.cpp beos/MainWindow.cpp - beos/PictureWin.cpp ; + # WX UI outdated + #SystemLibraries $(WX_BIN) : -lpthread `wx-config --libs` ; + #ObjectC++Flags $(WX_SRC) : `wx-config --cflags` ; + #Main $(WX_BIN) : $(WX_SRC) ; } -if $(OS) = MACOSX +if $(OS) != MACOSX { - OSXApp HandBrake.app ; - Depends HandBrake.app : core/libhb.a ; - Depends all : HandBrake.app ; + ObjectHdrs $(UI_SRC) : $(TOP)/libhb ; + LinkLibraries $(UI_BIN) : $(HANDBRAKE_LIBS) ; } +# Packages +NotFile package ; +Depends package : $(HB_PACKAGES) ; +SubInclude TOP contrib ; +SubInclude TOP libhb ;