[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