diff options
Diffstat (limited to 'make/variant/darwin.defs')
-rw-r--r-- | make/variant/darwin.defs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/make/variant/darwin.defs b/make/variant/darwin.defs new file mode 100644 index 000000000..6f8f6729d --- /dev/null +++ b/make/variant/darwin.defs @@ -0,0 +1,61 @@ +## 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.BUILD = $(PROJECT/)configure --launch --launch-dir=ub.$(1) --arch=$(1) + +## linefeed is important +define UB.BUILD.item + $(call UB.BUILD,$(1)) + +endef + +define UB.BUILD.SERIAL + $(foreach n,$(UB.archs.other),$(call UB.BUILD.item,$n)) +endef + +define UB.BUILD.PARALLEL + $(call UB.BUILD,$(1)) 2>&1 > ub.$(1).log +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) + @echo "" + @sync; lipo -info ub.combine/$(1) + @du -sh ub.combine/$(1) +endef |