diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-04-14 12:54:20 -0500 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-04-17 20:45:41 -0700 |
commit | 3137d249ba10ad6fa7a52486cdacddfab7419189 (patch) | |
tree | 80c69f449729d83d4cb3fc6a5b16258b0234219a /external | |
parent | a56b9aa8e654aa559538694dac539135b942f8e0 (diff) | |
download | skiboot-3137d249ba10ad6fa7a52486cdacddfab7419189.zip skiboot-3137d249ba10ad6fa7a52486cdacddfab7419189.tar.gz skiboot-3137d249ba10ad6fa7a52486cdacddfab7419189.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>
Diffstat (limited to 'external')
-rw-r--r-- | external/common/rules.mk | 6 | ||||
-rw-r--r-- | external/gard/rules.mk | 2 | ||||
-rw-r--r-- | external/opal-prd/Makefile | 2 | ||||
-rw-r--r-- | external/pflash/rules.mk | 2 | ||||
-rw-r--r-- | external/shared/Makefile | 1 |
5 files changed, 4 insertions, 9 deletions
diff --git a/external/common/rules.mk b/external/common/rules.mk index 4a929d6..5558cd3 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) @@ -66,8 +68,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 32b85e5..7482af3 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 |