diff options
Diffstat (limited to 'target/xtensa/patch.in')
-rw-r--r-- | target/xtensa/patch.in | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/target/xtensa/patch.in b/target/xtensa/patch.in new file mode 100644 index 000000000..5b723a8b4 --- /dev/null +++ b/target/xtensa/patch.in @@ -0,0 +1,33 @@ +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. + +XTENSA_CORENAME:=$(strip $(subst ",,$(BR2_xtensa_core_name))) +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 |