Hi, When a binary FW file is not present in the firmware dir then the build will fail. This patch enables auto-download any missing FW file for both shipped and external targets. Generated against linux-next.
Signed-off-by: Tadeusz Struk <tadeusz.st...@intel.com> --- firmware/Makefile | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/firmware/Makefile b/firmware/Makefile index 5747417..3ad12f6 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -178,10 +178,31 @@ wordsize_deps := $(wildcard include/config/64bit.h include/config/32bit.h \ include/config/superh32.h include/config/superh64.h \ include/config/x86_32.h include/config/x86_64.h) -$(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) +FW_URL := git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain + +.NOTPARALLEL: get_missing_external $(patsubst %,$(obj)/%.gen.S, $(fw-external-y)) +.NOTPARALLEL: get_missing_shipped $(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)) + +get_missing_shipped: + @for file in $(fw-shipped-y) $(fw-shipped-m); do \ + if [ ! -f $(obj)/$$file ]; then \ + wget $(FW_URL)/$$file -o /dev/null -O $(obj)/$$file; \ + fi; \ + done; + +get_missing_external: + @for file in $(fw-external-y); do \ + if [ ! -f $(obj)/$$file ]; then \ + wget $(FW_URL)/$$file -o /dev/null -O $(obj)/$$file; \ + fi; \ + done; + +$(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) \ + get_missing_shipped $(call cmd,fwbin,$(patsubst %.gen.S,%,$@)) + $(patsubst %,$(obj)/%.gen.S, $(fw-external-y)): %: $(wordsize_deps) \ - include/config/extra/firmware/dir.h + include/config/extra/firmware/dir.h get_missing_external $(call cmd,fwbin,$(fwabs)/$(patsubst $(obj)/%.gen.S,%,$@)) # The .o files depend on the binaries directly; the .S files don't. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/