kbuild: move .SECONDARY special target to Kbuild.include
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Sat, 1 Dec 2018 00:27:15 +0000 (09:27 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sun, 2 Dec 2018 05:11:49 +0000 (14:11 +0900)
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>
arch/arm/crypto/Makefile
arch/arm64/crypto/Makefile
scripts/Kbuild.include
scripts/Makefile.build

index bd5bceef0605f1c22d158bdca6b875a4b58311c0..89f88abba698d548957fea7d8151fe9990732452 100644 (file)
@@ -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
index f476fede09ba489463b9d1fb5e19b7345d100e0e..860d9312ccf986498d4d02b2c517de96873d1c12 100644 (file)
@@ -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
index 87e188609ef7a295bd4eee8e774635798d0f1a8b..4f138620865bee5fa3d49541a01b528d0f2d093c 100644 (file)
@@ -358,3 +358,6 @@ endef
 
 # delete partially updated (i.e. corrupted) files on error
 .DELETE_ON_ERROR:
+
+# do not delete intermediate files automatically
+.SECONDARY:
index ed9b6467ebde2f26d47dec2546e33f6123f2e006..aa05423c8418a52044570be6bfb10c978cc76941 100644 (file)
@@ -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)