kbuild: move .SECONDARY special target to Kbuild.include

In commit 54a702f705 ("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>
This commit is contained in:
Masahiro Yamada 2018-12-01 09:27:15 +09:00
parent 5439f09f48
commit 8e9b61b293
4 changed files with 5 additions and 6 deletions

View File

@ -65,4 +65,4 @@ $(src)/sha512-core.S_shipped: $(src)/sha512-armv4.pl
$(call cmd,perl) $(call cmd,perl)
endif endif
targets += sha256-core.S sha512-core.S clean-files += sha256-core.S sha512-core.S

View File

@ -75,4 +75,4 @@ $(src)/sha512-core.S_shipped: $(src)/sha512-armv8.pl
$(call cmd,perlasm) $(call cmd,perlasm)
endif endif
targets += sha256-core.S sha512-core.S clean-files += sha256-core.S sha512-core.S

View File

@ -358,3 +358,6 @@ endef
# delete partially updated (i.e. corrupted) files on error # delete partially updated (i.e. corrupted) files on error
.DELETE_ON_ERROR: .DELETE_ON_ERROR:
# do not delete intermediate files automatically
.SECONDARY:

View File

@ -529,8 +529,4 @@ $(shell mkdir -p $(obj-dirs))
endif endif
endif endif
# Some files contained in $(targets) are intermediate artifacts.
# We never want them to be removed automatically.
.SECONDARY: $(targets)
.PHONY: $(PHONY) .PHONY: $(PHONY)