@@ -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)
@@ -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)
@@ -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
Backport from kernel commit afa974b77128 ("kbuild: add real-prereqs shorthand for $(filter-out FORCE,$^)") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> --- scripts/Kbuild.include | 4 ++++ scripts/Makefile.build | 2 +- scripts/Makefile.lib | 10 +++++----- 3 files changed, 10 insertions(+), 6 deletions(-)