summaryrefslogtreecommitdiffstats
path: root/make/include
diff options
context:
space:
mode:
authorkonablend <[email protected]>2012-01-04 09:41:11 +0000
committerkonablend <[email protected]>2012-01-04 09:41:11 +0000
commit6d95ab81984cc44296438270aa792255f037c89a (patch)
tree842d42f935c31a5ec8c1529605cd0226d5d29197 /make/include
parentaad50499b32c44d28a6bae7f353b579e24564e25 (diff)
BuildSystem: Mac OS X - transition to Xcode4
- transition from Xcode3 to Xcode4 - overhaul HandBrake.xcodeproj file - simplify down to 2 configurations: debug, release - add xcconfig for useful variants: osx106.i386, osx106.x86_64, osx107.i386, osx107.x86_64 - add configure --xcode-config as preferred method to choose OSX minimum version and SDK - overhaul Info.plist generation to use m4 instead of cpp - remove use of direct static libraries on command line - Xcode4 now enables -search_paths_first by default - reference external build static libraries project file - greatly simplifying project file maintenance - update universal build targets to use --xcode-config - update ffmpeg hack to build on i386 in both debug and optimized modes - update ffmpeg build to show compile verbosity - enable local yasm when yasm probe fails - remove unused GCC.ldsysroot - remove unused GCC.ldminver - enhance xcodemake to use --sysroot, --minver - update/regenerate docs accordingly - add support for configure-time repo probe when svn repo is incompatible format to Xcode via .svn/HANDBRAKE_REPO_PROBE - replaced make/test/build.matrix.darwin with make/test/build.matrix git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4395 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'make/include')
-rw-r--r--make/include/gcc.defs10
-rw-r--r--make/include/main.rules19
2 files changed, 8 insertions, 21 deletions
diff --git a/make/include/gcc.defs b/make/include/gcc.defs
index c93d0babd..50b31f100 100644
--- a/make/include/gcc.defs
+++ b/make/include/gcc.defs
@@ -1,5 +1,5 @@
GCC.gcc = gcc
-GCC.gxx = $(dir $(GCC.gcc))$(subst gcc,g++,$(notdir $(GCC.gcc)))
+GCC.gxx = $(dir $(GCC.gcc))$(subst clang,clang++,$(subst gcc,g++,$(notdir $(GCC.gcc))))
GCC.strip = $$(if $$(filter none,$$(GCC.g)),1)
GCC.dylib = 1
@@ -9,9 +9,7 @@ GCC.H = 0
GCC.W = all
GCC.archs =
GCC.sysroot =
-GCC.ldsysroot =
GCC.minver =
-GCC.ldminver=
GCC.vis = 0
GCC.pic = 0
ifndef GCC.g
@@ -49,9 +47,7 @@ GCC.args.H = -H
GCC.args.W = -W$(1)
GCC.args.archs = -arch $(1)
GCC.args.sysroot = --sysroot=$(1)
-GCC.args.ldsysroot = -syslibroot $(1)
GCC.args.minver = -mmacosx-version-min=$(1)
-GCC.args.ldminver = -macosx_version_min $(1)
GCC.args.vis = -fvisibility=hidden
GCC.args.pic = -fPIC
GCC.args.g.none = -g0
@@ -95,9 +91,7 @@ define import.GCC
$(1).GCC.W = $$(GCC.W)
$(1).GCC.archs = $$(GCC.archs)
$(1).GCC.sysroot = $$(GCC.sysroot)
- $(1).GCC.ldsysroot = $$(GCC.ldsysroot)
$(1).GCC.minver = $$(GCC.minver)
- $(1).GCC.ldminver = $$(GCC.ldminver)
$(1).GCC.vis = $$(GCC.vis)
$(1).GCC.pic = $$(GCC.pic)
$(1).GCC.g = $$(GCC.g)
@@ -131,9 +125,7 @@ define import.GCC
$(1).GCC.args.W = $$(GCC.args.W)
$(1).GCC.args.archs = $$(GCC.args.archs)
$(1).GCC.args.sysroot = $$(GCC.args.sysroot)
- $(1).GCC.args.ldsysroot = $$(GCC.args.ldsysroot)
$(1).GCC.args.minver = $$(GCC.args.minver)
- $(1).GCC.args.ldminver = $$(GCC.args.ldminver)
$(1).GCC.args.vis = $$(GCC.args.vis)
$(1).GCC.args.pic = $$(GCC.args.pic)
$(1).GCC.args.g.none = $$(GCC.args.g.none)
diff --git a/make/include/main.rules b/make/include/main.rules
index 5a8d8acfb..158f24a9c 100644
--- a/make/include/main.rules
+++ b/make/include/main.rules
@@ -3,10 +3,9 @@
###############################################################################
-## file-wide conditional to use xcode rules if xcode=1 method=terminal
-## xcodemake will set BUILD.method != terminal to prevent infinite recursion
-ifeq (1:terminal,$(FEATURE.xcode):$(BUILD.method))
- include $(SRC/)macosx/module.xcode
+## shunt make through xcodebuild when FEATURE.xcode=1 and XCODE.driver is applicable
+ifeq (1:shunt,$(FEATURE.xcode):$(if $(filter bootstrap terminal,$(XCODE.driver)),shunt))
+ include $(SRC/)macosx/module.xcodebuild
else
## only included using special report targets
@@ -40,19 +39,15 @@ include $(MODULES:%=$(SRC/)%/module.rules)
###############################################################################
-## target which causes re-configure if project-root is svn update'd
-$(BUILD/)GNUmakefile: $(wildcard $(SRC/).svn/entries)
- $(SRC/)configure --force --conf-method=$(CONF.method) $(CONF.args)
-
-## target useful to force reconfigure; only helpful for build-system development
+## force reconfigure
.PHONY: reconfigure
reconfigure:
- $(SRC/)configure --force --conf-method=$(CONF.method) $(CONF.args)
+ $(SRC/)configure --force $(CONF.args)
###############################################################################
-## target to build all dependency dirs
+## build all dependency dirs
$(sort $(dir $(BUILD.out))):
$(MKDIR.exe) -p $@
-endif ## xcode=1 method=terminal
+endif ## FEATURE.xcode XCODE.driver