Backport from kernel
commit afa974b77128 ("kbuild: add real-prereqs shorthand for $(filter-out 
FORCE,$^)")

Signed-off-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>
---
 scripts/Kbuild.include |  4 ++++
 scripts/Makefile.build |  2 +-
 scripts/Makefile.lib   | 10 +++++-----
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 7468223d3233..2ef687ea895a 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -27,6 +27,10 @@ basetarget = $(basename $(notdir $@))
 # filename of first prerequisite with directory and extension stripped
 baseprereq = $(basename $(notdir $<))
 
+###
+# real prerequisites without phony targets
+real-prereqs = $(filter-out $(PHONY), $^)
+
 ###
 # Escape single quote for use in echo statements
 escsq = $(subst $(squote),'\$(squote)',$1)
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 10f31a57a0f9..73e1d71e30df 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -356,7 +356,7 @@ $(modorder-target): $(subdir-ym) FORCE
 #
 ifdef lib-target
 quiet_cmd_link_l_target = AR      $@
-cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
+cmd_link_l_target = rm -f $@; $(AR) rcsTP$(KBUILD_ARFLAGS) $@ $(real-prereqs)
 
 $(lib-target): $(lib-y) FORCE
        $(call if_changed,link_l_target)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 6d0cb8e6513f..4861b1332c3c 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -546,7 +546,7 @@ $(obj)/dsdt_generated.c:    $(src)/dsdt.asl
 # append the size as a 32-bit littleendian number as gzip does.
 size_append = printf $(shell                                           \
 dec_size=0;                                                            \
-for F in $(filter-out FORCE,$^); do
+for F in $(real-prereqs); do
        fsize=$$(stat -c "%s" $$F);                                     \
        dec_size=$$(expr $$dec_size + $$fsize);                         \
 done;                                                                  \
@@ -560,19 +560,19 @@ printf "%08x\n" $$dec_size |                              
                \
 )
 
 quiet_cmd_bzip2 = BZIP2   $@
-cmd_bzip2 = (cat $(filter-out FORCE,$^) | bzip2 -9 && $(size_append)) > $@
+cmd_bzip2 = (cat $(real-prereqs) | bzip2 -9 && $(size_append)) > $@
 
 # Lzma
 # ---------------------------------------------------------------------------
 
 quiet_cmd_lzma = LZMA    $@
-cmd_lzma = (cat $(filter-out FORCE,$^) | lzma -9 && $(size_append)) > $@
+cmd_lzma = (cat $(real-prereqs) | lzma -9 && $(size_append)) > $@
 
 quiet_cmd_lzo = LZO     $@
-cmd_lzo = (cat $(filter-out FORCE,$^) | lzop -9 && $(size_append)) > $@
+cmd_lzo = (cat $(real-prereqs) | lzop -9 && $(size_append)) > $@
 
 quiet_cmd_lz4 = LZ4     $@
-cmd_lz4 = (cat $(filter-out FORCE,$^) | lz4c -l -c1 stdin stdout && \
+cmd_lz4 = (cat $(real-prereqs) | lz4c -l -c1 stdin stdout && \
        $(size_append)) > $@
 
 # U-Boot mkimage
-- 
2.49.0

Reply via email to