summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-12-01 09:27:15 +0900
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-12-02 14:11:49 +0900
commit8e9b61b293d98f878cf1e6d1ae164e41c0219959 (patch)
tree579a5032f2fab20017443a39a9c08ebb0a97a39e
parent5439f09f488f291a9493455c24b197c99025764d (diff)
downloadlinux-8e9b61b293d98f878cf1e6d1ae164e41c0219959.tar.bz2
kbuild: move .SECONDARY special target to Kbuild.include
In commit 54a702f70589 ("kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers"), I missed one important feature of the .SECONDARY target: .SECONDARY with no prerequisites causes all targets to be treated as secondary. ... which agrees with the policy of Kbuild. Let's move it to scripts/Kbuild.include, with no prerequisites. Note: If an intermediate file is generated by $(call if_changed,...), you still need to add it to "targets" so its .*.cmd file is included. The arm/arm64 crypto files are generated by $(call cmd,shipped), so they do not need to be added to "targets", but need to be added to "clean-files" so "make clean" can properly clean them away. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-rw-r--r--arch/arm/crypto/Makefile2
-rw-r--r--arch/arm64/crypto/Makefile2
-rw-r--r--scripts/Kbuild.include3
-rw-r--r--scripts/Makefile.build4
4 files changed, 5 insertions, 6 deletions
diff --git a/arch/arm/crypto/Makefile b/arch/arm/crypto/Makefile
index bd5bceef0605..89f88abba698 100644
--- a/arch/arm/crypto/Makefile
+++ b/arch/arm/crypto/Makefile
@@ -65,4 +65,4 @@ $(src)/sha512-core.S_shipped: $(src)/sha512-armv4.pl
$(call cmd,perl)
endif
-targets += sha256-core.S sha512-core.S
+clean-files += sha256-core.S sha512-core.S
diff --git a/arch/arm64/crypto/Makefile b/arch/arm64/crypto/Makefile
index f476fede09ba..860d9312ccf9 100644
--- a/arch/arm64/crypto/Makefile
+++ b/arch/arm64/crypto/Makefile
@@ -75,4 +75,4 @@ $(src)/sha512-core.S_shipped: $(src)/sha512-armv8.pl
$(call cmd,perlasm)
endif
-targets += sha256-core.S sha512-core.S
+clean-files += sha256-core.S sha512-core.S
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 87e188609ef7..4f138620865b 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -358,3 +358,6 @@ endef
# delete partially updated (i.e. corrupted) files on error
.DELETE_ON_ERROR:
+
+# do not delete intermediate files automatically
+.SECONDARY:
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index ed9b6467ebde..aa05423c8418 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -529,8 +529,4 @@ $(shell mkdir -p $(obj-dirs))
endif
endif
-# Some files contained in $(targets) are intermediate artifacts.
-# We never want them to be removed automatically.
-.SECONDARY: $(targets)
-
.PHONY: $(PHONY)