aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2016-04-14 12:54:20 -0500
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-04-27 10:46:12 +1000
commit7c6b09d1c063e09dc38e7d8064c0c4a2338f3508 (patch)
treee0fd73b1cd002bc799f55f79a8fe1fc0e3419f6e
parent9c42093c269cd3ac7a9a7026845f830bbfe446f0 (diff)
downloadskiboot-7c6b09d1c063e09dc38e7d8064c0c4a2338f3508.zip
skiboot-7c6b09d1c063e09dc38e7d8064c0c4a2338f3508.tar.gz
skiboot-7c6b09d1c063e09dc38e7d8064c0c4a2338f3508.tar.bz2
pflash: Allow building under yocto.
The makefiles under external/* utilize the $(CROSS_COMPILE) variable to determine the cross-compiler prefix. In a few places, $(CROSS_COMPILE)gcc is called instead of $(CC). The issue with this is that yocto build passes some compile flags as part of $(CC) instead of $(CFLAGS), the most important of these is '--sysroot=...'. Without the proper --sysroot flag, pflash compile fails to find critical libc headers like stdio.h. This change delegates setting of $(CC) and $(LD) to external/common/rules.mk, which is widely used in the external tree, and ensures that: 1) $(CC) is used instead of $(CROSS_COMPILE)gcc. 2) CC is only set when not passed from the environment. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Reviewed-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com> (cherry picked from commit 3137d249ba10ad6fa7a52486cdacddfab7419189)
-rw-r--r--external/common/rules.mk6
-rw-r--r--external/gard/rules.mk2
-rw-r--r--external/opal-prd/Makefile2
-rw-r--r--external/pflash/rules.mk2
-rw-r--r--external/shared/Makefile1
5 files changed, 4 insertions, 9 deletions
diff --git a/external/common/rules.mk b/external/common/rules.mk
index ec20593..95a2757 100644
--- a/external/common/rules.mk
+++ b/external/common/rules.mk
@@ -1,3 +1,5 @@
+CC ?= $(CROSS_COMPILE)gcc
+LD ?= $(CROSS_COMPILE)ld
ARCH := $(shell $(GET_ARCH) "$(CROSS_COMPILE)")
ifeq ($(ARCH),ARCH_ARM)
@@ -42,8 +44,8 @@ arch_clean:
$(ARCH_SRC): | common
$(ARCH_OBJS): common-%.o: common/%.c
- $(Q_CC)$(CROSS_COMPILE)gcc $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+ $(Q_CC)$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
common-arch_flash.o: $(ARCH_OBJS)
- $(Q_LD)$(CROSS_COMPILE)ld -r $(ARCH_OBJS) -o $@
+ $(Q_LD)$(LD) -r $(ARCH_OBJS) -o $@
diff --git a/external/gard/rules.mk b/external/gard/rules.mk
index f0086a2..0dd14ed 100644
--- a/external/gard/rules.mk
+++ b/external/gard/rules.mk
@@ -7,8 +7,6 @@ OBJS += $(LIBFLASH_OBJS)
OBJS += common-arch_flash.o
EXE = gard
-CC = $(CROSS_COMPILE)gcc
-
prefix = /usr/local/
sbindir = $(prefix)/sbin
datadir = $(prefix)/share
diff --git a/external/opal-prd/Makefile b/external/opal-prd/Makefile
index 3f34371..ff5ba6b 100644
--- a/external/opal-prd/Makefile
+++ b/external/opal-prd/Makefile
@@ -1,5 +1,3 @@
-CC = $(CROSS_COMPILE)gcc
-
CFLAGS += -m64 -Werror -Wall -g2 -ggdb
LDFLAGS += -m64
ASFLAGS = -m64
diff --git a/external/pflash/rules.mk b/external/pflash/rules.mk
index 219e3d3..aa426b5 100644
--- a/external/pflash/rules.mk
+++ b/external/pflash/rules.mk
@@ -9,8 +9,6 @@ OBJS += $(LIBFLASH_OBJS)
OBJS += common-arch_flash.o
EXE = pflash
-CC = $(CROSS_COMPILE)gcc
-
PFLASH_VERSION ?= $(shell ../../make_version.sh $(EXE))
version.c: .version
diff --git a/external/shared/Makefile b/external/shared/Makefile
index ffc049f..4c31657 100644
--- a/external/shared/Makefile
+++ b/external/shared/Makefile
@@ -1,5 +1,4 @@
.DEFAULT_GOAL := all
-CC ?= $(CROSS_COMPILE)gcc
GET_ARCH = ../../external/common/get_arch.sh
include ../../external/common/rules.mk