This patch simplifies seabios cross-builds on !x86 platforms. It adds a CROSS_PREFIX variable which is used to set CC, LD & friends to the cross build binaries. It also moves the common command definitions up in the Makefile to make sure CC is set correctly when probing compiler flags using $(call cc-option ...)
Signed-off-by: Gerd Hoffmann kraxel@redhat.com --- Makefile | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/Makefile b/Makefile index dd5230e..e801720 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,24 @@ # Output directory OUT=out/
+# Common command definitions +export HOSTCC := $(CC) +export CONFIG_SHELL := sh +export KCONFIG_AUTOHEADER := autoconf.h +export KCONFIG_CONFIG := $(abspath $(OUT))/.config +CROSS_PREFIX= +ifneq ($(CROSS_PREFIX),) +CC=$(CROSS_PREFIX)gcc +endif +AS=$(CROSS_PREFIX)as +LD=$(CROSS_PREFIX)ld +OBJCOPY=$(CROSS_PREFIX)objcopy +OBJDUMP=$(CROSS_PREFIX)objdump +STRIP=$(CROSS_PREFIX)strip +PYTHON=python +CPP=cpp +IASL:=iasl + # Source files SRCBOTH=misc.c stacks.c output.c string.c x86.c block.c cdrom.c mouse.c kbd.c \ serial.c clock.c resume.c pnpbios.c vgahooks.c pcibios.c apm.c \ @@ -61,19 +79,6 @@ Q=@ MAKEFLAGS += --no-print-directory endif
-# Common command definitions -export HOSTCC := $(CC) -export CONFIG_SHELL := sh -export KCONFIG_AUTOHEADER := autoconf.h -export KCONFIG_CONFIG := $(abspath $(OUT))/.config -AS=as -OBJCOPY=objcopy -OBJDUMP=objdump -STRIP=strip -PYTHON=python -CPP=cpp -IASL:=iasl - # Default targets -include $(KCONFIG_CONFIG)
On Fr, 2013-09-20 at 13:34 +0200, Gerd Hoffmann wrote:
This patch simplifies seabios cross-builds on !x86 platforms. It adds a CROSS_PREFIX variable which is used to set CC, LD & friends to the cross build binaries. It also moves the common command definitions up in the Makefile to make sure CC is set correctly when probing compiler flags using $(call cc-option ...)
Pushed now.
cheers, Gerd