summaryrefslogtreecommitdiffstats
path: root/payloads/libpayload/Makefile
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2012-12-14 13:05:21 -0800
committerRonald G. Minnich <rminnich@gmail.com>2012-12-14 22:29:48 +0100
commit8af0d03fd49f9c88db98ef7b3c2d95bf1cd0f319 (patch)
treee33aae504fe01548bfc51a96c8350c3d05d0e6ed /payloads/libpayload/Makefile
parentf6935a006a6ffe57413877093035cdc1a020e7bd (diff)
downloadcoreboot-8af0d03fd49f9c88db98ef7b3c2d95bf1cd0f319.tar.gz
coreboot-8af0d03fd49f9c88db98ef7b3c2d95bf1cd0f319.tar.bz2
coreboot-8af0d03fd49f9c88db98ef7b3c2d95bf1cd0f319.zip
libpayload: Initial ARMv7 port
This compiles, but it's not tested yet. Change-Id: I2f73a814649aa36c39af3e77cefd8a968671f5c0 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/2035 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'payloads/libpayload/Makefile')
-rw-r--r--payloads/libpayload/Makefile32
1 files changed, 29 insertions, 3 deletions
diff --git a/payloads/libpayload/Makefile b/payloads/libpayload/Makefile
index 667822d17951..cbfd43a64c48 100644
--- a/payloads/libpayload/Makefile
+++ b/payloads/libpayload/Makefile
@@ -79,7 +79,6 @@ HOSTCC = gcc
HOSTCXX = g++
HOSTCFLAGS := -I$(srck) -I$(objk) -g
HOSTCXXFLAGS := -I$(srck) -I$(objk)
-LIBGCC_FILE_NAME := $(shell test -r `$(CC) -print-libgcc-file-name` && $(CC) -print-libgcc-file-name)
DOXYGEN := doxygen
DOXYGEN_OUTPUT_DIR := doxygen
@@ -90,6 +89,35 @@ all: real-all
# Order _does_ matter for pattern rules.
include util/kconfig/Makefile
+include $(HAVE_DOTCONFIG)
+
+ARCHDIR-$(CONFIG_ARCH_ARMV7) := armv7
+ARCHDIR-$(CONFIG_ARCH_POWERPC) := powerpc
+ARCHDIR-$(CONFIG_ARCH_X86) := x86
+
+ARCH-y := $(ARCHDIR-y)
+
+# If architecture folder name is different from GCC binutils architecture name,
+# override here.
+ARCH-$(CONFIG_ARCH_ARMV7) := armv7
+ARCH-$(CONFIG_ARCH_ARMV7) := armv7
+ARCH-$(CONFIG_ARCH_X86) := i386
+
+CC := $(CC_$(ARCH-y))
+AS := $(AS_$(ARCH-y))
+LD := $(LD_$(ARCH-y))
+NM := $(NM_$(ARCH-y))
+OBJCOPY := $(OBJCOPY_$(ARCH-y))
+OBJDUMP := $(OBJDUMP_$(ARCH-y))
+READELF := $(READELF_$(ARCH-y))
+STRIP := $(STRIP_$(ARCH-y))
+AR := $(AR_$(ARCH-y))
+
+CFLAGS += $(CFLAGS_$(ARCH-y))
+
+LIBGCC_FILE_NAME := $(shell test -r `$(CC) -print-libgcc-file-name` && \
+ $(CC) -print-libgcc-file-name)
+
# Three cases where we don't need fully populated $(obj) lists:
# 1. when no .config exists
# 2. when make config (in any flavour) is run
@@ -110,8 +138,6 @@ real-all: config
else
-include $(HAVE_DOTCONFIG)
-
ifneq ($(INNER_SCANBUILD),y)
ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
CC:=clang -m32