summaryrefslogtreecommitdiffstats
path: root/make/variant
diff options
context:
space:
mode:
authorkonablend <[email protected]>2009-03-08 22:50:57 +0000
committerkonablend <[email protected]>2009-03-08 22:50:57 +0000
commit083ba4898a662cd50a86d2a65ca5ebe765fe882d (patch)
treec2460805275e7b23dd03965df15beecc7ac4589b /make/variant
parent92d511d944b059caaf6c5e85fcb5202642aa4553 (diff)
BuildSystem: general, configure and Xcode updates.
*** NOTICE: This changeset requires a clean build directory. Please issue 'make xclean' inside build dir(s) after 'svn up'. This will help ensure there are no unexpected results. *** GENERAL: - renamed makevar PROJECT/ -> SRC/ for clarity. - renamed makevar PREFIX.install/ -> PREFIX/ for clarity. - split custom GNUmakefile overrides into defs/rules files. - inserted optional level of make customization at SRC/ level; see docs. - dropped HB.repo.wcversion (svnversion is no longer used). - corrected several 'rm' usages to use -f flag which avoids some build errors. - refreshed generated 00-Building.*.txt docs; work still in progress on the wiki front. *** CONFIGURE: - made configure more robust; configure may now be run outside of build directory! - adding log recording of configure activities. - improved readability of default options for configure - added: --force overwrite existing build config --src=DIR specify top-level source dir [.] --build=DIR specify build scratch/output dir [.] --prefix=DIR specify install dir for products [/Applications] - dropped --launch-force (replaced by --force) - dropped --launch-dir (replaced by --build) - dropped --launch-log *** XCODE: - renamed pbxproj definition EXTERNAL_PROJECT -> EXTERNAL_SRC for clarity. - fixed all configurations to default to EXTERNAL_JOBS=1 . - enabled Xcode internal parallelization (libhb, HandBrakeCLI and HandBrake benefit). - make now tickles Xcode build files to cause Info.plist regeneration and posting to HandBrake.app output; ie: svn up; click build and HandBrake.app's about panel will reflect the new repository rev. *** DARWIN: - added support to build universal binaries; see docs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2242 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'make/variant')
-rw-r--r--make/variant/darwin.defs55
-rw-r--r--make/variant/darwin.rules2
-rw-r--r--make/variant/freebsd.defs5
3 files changed, 19 insertions, 43 deletions
diff --git a/make/variant/darwin.defs b/make/variant/darwin.defs
index 6f8f6729d..baffda595 100644
--- a/make/variant/darwin.defs
+++ b/make/variant/darwin.defs
@@ -1,40 +1,9 @@
-## UB build support
-##
-## PROCEDURE:
-##
-## 1. Perform a build (let us call it arch-X).
-## 2. cd into arch-X's build/ driectory.
-## 3. Launch builds of the remaining architectures.
-## We compute $(UB.archs.other) to be the remaining archs to build.
-## The entire list is defined $(UB.archs) .
-## 4. Combine other architectures into arch-X's binaries.
-##
-## EXAMPLE: serial method, archs: i386,x86_64,ppc,ppc64
-##
-## ./configure --launch
-## cd build/
-## make ub.build.serial
-## make ub.combine
-##
-## EXAMPLE: parallel method, archs: i386,x86_64,ppc,ppc64
-##
-## ./configure --launch
-## cd build/
-## make ub.build.parallel
-## make ub.combine
-##
-## EXAMPLE: serial, archs: i386,x86_64 (assuming i386 is native)
-##
-## ./configure --launch
-## cd build/
-## make ub.build.parallel UB.archs="i386 x86_64"
-## make ub.combine UB.archs="i386 x86_64"
-##
-UB.archs = i386 x86_64 ppc ppc64
-UB.archs.other = $(filter-out $(BUILD.arch),$(UB.archs))
-UB.builds = $(wildcard $(foreach n,$(UB.archs.other),$(PROJECT/)build.$n))
+UB.archs = i386 x86_64 ppc ppc64
+UB.builds = $(wildcard $(foreach n,$(UB.archs),$(SRC/)build.$n))
+UB.first = $(word 1,$(UB.archs))
+UB.other = $(wordlist 2,999,$(UB.archs))
-UB.BUILD = $(PROJECT/)configure --launch --launch-dir=ub.$(1) --arch=$(1)
+UB.BUILD = $(SRC/)configure --build=ub.$(1) --arch=$(1) --launch --launch-quiet
## linefeed is important
define UB.BUILD.item
@@ -43,19 +12,21 @@ define UB.BUILD.item
endef
define UB.BUILD.SERIAL
- $(foreach n,$(UB.archs.other),$(call UB.BUILD.item,$n))
+ $(foreach n,$(UB.archs),$(call UB.BUILD.item,$n))
endef
define UB.BUILD.PARALLEL
- $(call UB.BUILD,$(1)) 2>&1 > ub.$(1).log
+ $(call UB.BUILD,$(1)) >/dev/null 2>&1
endef
define UB.COMBINE
$(RM.exe) -fr ub.combine
$(MKDIR.exe) -p ub.combine
- $(CP.exe) -R HandBrake.app ub.combine/.
- lipo $(1) $(foreach n,$(UB.archs.other),ub.$n/$(1)) -create -output ub.combine/$(1)
+ $(CP.exe) -R ub.$(UB.first)/HandBrake.app ub.combine/.
+ $(LIPO.exe) $(foreach n,$(UB.archs),ub.$n/$(1)) -create -output ub.combine/$(1)
+ @lipo -info ub.combine/$(1)
+ @sync
@echo ""
- @sync; lipo -info ub.combine/$(1)
- @du -sh ub.combine/$(1)
+ @echo "$@: { $(UB.archs) } combined -> ub.combine/HandBrake.app"
+ @echo "$@: UB executable size: `du -sh ub.combine/$(1) | awk '{ print $$1 }'`"
endef
diff --git a/make/variant/darwin.rules b/make/variant/darwin.rules
index c4f4f97a4..d59a222b4 100644
--- a/make/variant/darwin.rules
+++ b/make/variant/darwin.rules
@@ -5,7 +5,7 @@ ub.build.serial:
ub.build.parallel:
@set -e; \
- for arch in $(UB.archs.other); do \
+ for arch in $(UB.archs); do \
$(call UB.BUILD.PARALLEL,$$arch) & \
children="$$children $$!"; \
echo "pid $$!: $(call UB.BUILD.PARALLEL,$$arch)"; \
diff --git a/make/variant/freebsd.defs b/make/variant/freebsd.defs
index c58706ba1..9a807b8d4 100644
--- a/make/variant/freebsd.defs
+++ b/make/variant/freebsd.defs
@@ -2,3 +2,8 @@ TARGET.dylib.ext = .so
GCC.args.dylib = -shared
GCC.args.pic = 1
+
+GCC.args.g.none = -g0
+GCC.args.g.min = -g1
+GCC.args.g.default = -g2
+GCC.args.g.max = -g3