2009-07-24 02:17:22 +02:00
|
|
|
ifneq ($(filter xtensa%,$(ARCH)),)
|
|
|
|
#############################################################
|
|
|
|
#
|
|
|
|
# Xtensa processor architecture (including Diamond Standard cores)
|
|
|
|
#
|
|
|
|
#############################################################
|
|
|
|
|
|
|
|
# The following defines a function to be used like this:
|
|
|
|
# $(call XTENSA_PATCH, <module>, <patchdir>, <relative dir list...>)
|
|
|
|
# which returns the first overlay patch file for <module> found
|
|
|
|
# in the list of directories <relative dir list...> which are
|
|
|
|
# relative to <patchdir> (itself either absolute or relative to the
|
|
|
|
# current directory). The returned filename is relative to <patchdir>.
|
|
|
|
# For example:
|
|
|
|
# $(call XTENSA_PATCH, binutils, some/dir/path, . ..)
|
|
|
|
# (no commas between directory paths in the list).
|
|
|
|
#
|
|
|
|
# A selected overlay patch must exist ("fsf" means no specific
|
|
|
|
# overlay is selected). So the function emits a Makefile error
|
|
|
|
# if a selected patch file is not found.
|
|
|
|
|
2009-07-30 17:35:13 +02:00
|
|
|
XTENSA_CORENAME:=$(call qstrip,$(BR2_xtensa_core_name))
|
2009-07-24 02:17:22 +02:00
|
|
|
ifeq ($(XTENSA_CORENAME),fsf)
|
|
|
|
XTENSA_PATCH =
|
|
|
|
else
|
|
|
|
XTENSA_PATCH_SUFFIX = $(1)-xtensa_$(XTENSA_CORENAME).tgz
|
|
|
|
XTENSA_PATCH_FILE = $(firstword $(wildcard $(patsubst %,$(2)/%/*$(XTENSA_PATCH_SUFFIX),$(3))))
|
|
|
|
# FULLPATH = $(if $(filter /%,$(1)),$(1),$(PWD)/$(1))
|
|
|
|
XTENSA_PATCH = $(if $(XTENSA_PATCH_FILE),$(patsubst $(2)/%,%,$(XTENSA_PATCH_FILE)),\
|
|
|
|
$(error Missing $(1) patch for Xtensa $(XTENSA_CORENAME) processor (*$(XTENSA_PATCH_SUFFIX) in $(addprefix $(2)/,$(3)))))
|
|
|
|
endif
|
|
|
|
|
|
|
|
endif
|