summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorkonablend <[email protected]>2009-04-19 01:47:13 +0000
committerkonablend <[email protected]>2009-04-19 01:47:13 +0000
commit4fffefa4da3832f6883fb21527847deaaf8455b4 (patch)
treeb6e49d32ddb7a86bca4b856c8002d0dabe3a3c17 /make
parent05965924b744356f7eb4977303e0afcb15d6300e (diff)
BuildSystem: fix darwin/xcode to avoid double-configure/build after svn up
- build system automagically rebuilds certain files from libhb upwards after an svn up to maintain accurate repository information in binaries; if building with xcode the process was inadvertantly repeated on subsequent 'make'. - enhanced make/xcodemake to record the user's environment when shunted through xcode. this should help in diagnosing build issues from Xcode.app in the future. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2344 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'make')
-rw-r--r--make/configure.py6
-rw-r--r--make/include/main.rules7
-rwxr-xr-xmake/xcodemake8
3 files changed, 15 insertions, 6 deletions
diff --git a/make/configure.py b/make/configure.py
index ba089411a..8c33becea 100644
--- a/make/configure.py
+++ b/make/configure.py
@@ -1248,9 +1248,9 @@ try:
else:
doc.add( 'BUILD.cross.prefix', '' )
- doc.add( 'BUILD.method', 'terminal' )
- doc.add( 'BUILD.date', time.strftime('%c') )
- doc.add( 'BUILD.arch', arch.mode.mode )
+ doc.add( 'BUILD.method', 'terminal' )
+ doc.add( 'BUILD.date', time.strftime('%c') )
+ doc.add( 'BUILD.arch', arch.mode.mode )
doc.addBlank()
doc.add( 'CONF.method', options.conf_method )
diff --git a/make/include/main.rules b/make/include/main.rules
index 2b288ab31..132567c1e 100644
--- a/make/include/main.rules
+++ b/make/include/main.rules
@@ -4,7 +4,8 @@
###############################################################################
## file-wide conditional to use xcode rules if xcode=1 method=terminal
-ifeq ($(FEATURE.xcode):$(BUILD.method),1:terminal)
+## xcodemake will set BUILD.method != terminal to prevent infinite recursion
+ifeq (1:terminal,$(FEATURE.xcode):$(BUILD.method))
include $(SRC/)macosx/module.xcode
else
@@ -40,12 +41,12 @@ 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.args)
+ $(SRC/)configure --force --conf-method=$(CONF.method) $(CONF.args)
## target useful to force reconfigure; only helpful for build-system development
.PHONY: reconfigure
reconfigure:
- $(SRC/)configure --force $(CONF.args)
+ $(SRC/)configure --force --conf-method=$(CONF.method) $(CONF.args)
###############################################################################
diff --git a/make/xcodemake b/make/xcodemake
index 4854ec2d4..93c927c96 100755
--- a/make/xcodemake
+++ b/make/xcodemake
@@ -92,6 +92,14 @@ else
jobs=--jobs=$EXTERNAL_JOBS
fi
+## log environment as provided by Xcode
+logdir=$EXTERNAL_BUILD/log
+if [ ! -d $logdir ]; then
+ mkdir -p $logdir
+fi
+env | sort > $logdir/xcodemake.env.txt
+
## pull the trigger
+## must set BUILD.method != terminal to prevent inifinite recursion
set -x
exec make -C $EXTERNAL_BUILD BUILD.method=xcode $jobs $goals $EXTERNAL_VARS