[U-Boot] [U-Boot, 2/2] kbuild: add .SECONDARY special target to scripts/Kbuild.include
Tom Rini
trini at konsulko.com
Wed Jan 16 17:10:59 UTC 2019
On Fri, Jan 11, 2019 at 07:42:27PM +0900, Masahiro Yamada wrote:
> Based on the following Linux commits:
>
> - 54a702f70589 ("kbuild: mark $(targets) as .SECONDARY and remove
> .PRECIOUS markers")
>
> - 8e9b61b293d9 ("kbuild: move .SECONDARY special target to
> Kbuild.include")
>
> GNU Make automatically deletes intermediate files that are updated
> in a chain of pattern rules.
>
> Example 1) %.dtb.o <- %.dtb.S <- %.dtb <- %.dts
> Example 2) %.o <- %.c <- %.c_shipped
>
> A couple of makefiles mark such targets as .PRECIOUS to prevent Make
> from deleting them, but the correct way is to use .SECONDARY.
>
> .SECONDARY
> Prerequisites of this special target are treated as intermediate
> files but are never automatically deleted.
>
> .PRECIOUS
> When make is interrupted during execution, it may delete the target
> file it is updating if the file was modified since make started.
> If you mark the file as precious, make will never delete the file
> if interrupted.
>
> Both can avoid deletion of intermediate files, but the difference is
> the behavior when Make is interrupted; .SECONDARY deletes the target,
> but .PRECIOUS does not.
>
> The use of .PRECIOUS is relatively rare since we do not want to keep
> partially constructed (possibly corrupted) targets.
>
> .SECONDARY with no prerequisites causes all targets to be treated as
> secondary. This agrees the policy of Kbuild.
>
> scripts/Kbuild.include seems a suitable place to add it because it is
> included from almost all sub-makes.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190116/ddf29055/attachment.sig>
More information about the U-Boot
mailing list