[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1543624035-4479-1-git-send-email-yamada.masahiro@socionext.com>
Date: Sat, 1 Dec 2018 09:27:15 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: linux-kbuild@...r.kernel.org
Cc: "Jason A . Donenfeld" <Jason@...c4.com>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
"David S. Miller" <davem@...emloft.net>,
linux-kernel@...r.kernel.org,
Michal Marek <michal.lkml@...kovi.net>,
linux-crypto@...r.kernel.org, Will Deacon <will.deacon@....com>,
Herbert Xu <herbert@...dor.apana.org.au>,
Catalin Marinas <catalin.marinas@....com>,
Russell King <linux@...linux.org.uk>,
linux-arm-kernel@...ts.infradead.org
Subject: [PATCH] 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.
Kbuild's policy is, "Do not delete any intermediate files."
So, just 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@...ionext.com>
---
arch/arm/crypto/Makefile | 2 +-
arch/arm64/crypto/Makefile | 2 +-
scripts/Kbuild.include | 3 +++
scripts/Makefile.build | 4 ----
4 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/arch/arm/crypto/Makefile b/arch/arm/crypto/Makefile
index bd5bcee..89f88ab 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 f476fed..860d931 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 bb01555..0454916 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -393,3 +393,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 a8e7ba9..604096a 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -546,8 +546,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)
--
2.7.4
Powered by blists - more mailing lists