OSDN Git Service

MacGui: Remove Target Size as a rate control option as it doesn't really work correct...
[handbrake-jp/handbrake-jp-git.git] / macosx / module.defs
index c13958d..d92160f 100644 (file)
@@ -1,29 +1,58 @@
 $(eval $(call import.MODULE.defs,MACOSX,macosx))
+$(eval $(call import.GCC,MACOSX))
 
-MACOSX.src/   = $(PROJECT/)macosx/
+MACOSX.src/   = $(SRC/)macosx/
 MACOSX.build/ = $(BUILD/)macosx/
 
 MACOSX.m4.in  = $(wildcard $(MACOSX.src/)*.m4)
-MACOSX.m4.out = $(patsubst $(MACOSX.src/)%.m4,$(MACOSX.build/)%,$(MACOSX.m4.in))
+MACOSX.m4.out = $(MACOSX.m4.in:$(MACOSX.src/)%.m4=$(MACOSX.build/)%)
+
+## optional special command to run post macro processing
+MACOSX.m4.post.Info.h = $(RM.exe) -f $(MACOSX.build/)HandBrake.build/Preprocessed-Info.plist
 
 MACOSX.targs = HandBrakeCLI HandBrake
-MACOSX.conf  = standard$(if $(filter 1,$(BUILD.cross)),.$(BUILD.arch))
+
+## configuration pattern: (standard|debug)[.ARCH]
+## eg. for native build, no debug --> standard
+## eg. for x86_64 build with debug of any level --> debug.x86_64
+MACOSX.conf  = $(MACOSX.map.g.$(MACOSX.GCC.g)).$(BUILD.arch)
+
+## this is a mapping to determine which basename config to use in xcodeproj
+MACOSX.map.g.none = standard
+MACOSX.map.g.min  = debug
+MACOSX.map.g.std  = debug
+MACOSX.map.g.max  = debug
 
 ###############################################################################
 
 BUILD.out += $(MACOSX.m4.out)
+BUILD.out += $(MACOSX.m4.wc.out)
 
 ###############################################################################
 
 MACOSX.XCODE.exe     = xcodebuild
 MACOSX.XCODE.project = HandBrake.xcodeproj
 
+## launch a build thru xcode; which in turn will do a nested make against
+## this build system with normal build rules enabled.
+##
+## $(1) = list of targets
+## $(2) = list of goals to shunt thru xcodebuild->make
+##
+XCODE.sysroot = $(foreach sdk,$(GCC.sysroot),-sdk $(sdk))
 MACOSX.XCODE = $(strip \
     cd $(MACOSX.src/) && \
-    $(MACOSX.XCODE.exe) \
-            -project $(MACOSX.XCODE.project) \
-            -configuration $(MACOSX.conf) \
-            $(foreach t,$(MACOSX.targs),-target $t) \
-            EXTERNAL_BUILD=$(CURDIR) \
-            EXTERNAL_PROJECT=$(PROJECT/) \
-            $(1) )
+       $(MACOSX.XCODE.exe) \
+        -project $(MACOSX.XCODE.project) \
+        -configuration $(MACOSX.conf) \
+       $(XCODE.sysroot) \
+        $(foreach t,$(1),-target $t) \
+        EXTERNAL_SRC='$(XCODE.external.src)' \
+        EXTERNAL_BUILD='$(XCODE.external.build)' \
+        EXTERNAL_PREFIX='$(XCODE.external.prefix)' \
+        EXTERNAL_JOBS='$(BUILD.jobs)' \
+        EXTERNAL_METHOD='$(CONF.method)' \
+        EXTERNAL_CONFARGS='$(CONF.args)' \
+        EXTERNAL_GOALS='$(3)' \
+        EXTERNAL_VARS='$(-*-command-variables-*-)' \
+        $(2) )