linux/arch/arc/boot/dts
Masahiro Yamada 54a702f705 kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers
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.

Another difference is that .PRECIOUS works with pattern rules whereas
.SECONDARY does not.

  .PRECIOUS: $(obj)/%.lex.c

works, but

  .SECONDARY: $(obj)/%.lex.c

has no effect.  However, for the reason above, I do not want to use
.PRECIOUS which could cause obscure build breakage.

The targets specified as .SECONDARY must be explicit.  $(targets)
contains all targets that need to include .*.cmd files.  So, the
intermediates you want to keep are mostly in there.  Therefore, mark
$(targets) as .SECONDARY.  It means primary targets are also marked
as .SECONDARY, but I do not see any drawback for this.

I replaced some .SECONDARY / .PRECIOUS markers with 'targets'.  This
will make Kbuild search for non-existing .*.cmd files, but this is
not a noticeable performance issue.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Frank Rowand <frowand.list@gmail.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
2018-04-07 19:04:02 +09:00
..
Makefile kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers 2018-04-07 19:04:02 +09:00
abilis_tb10x.dtsi dmaengine: DW DMAC: add multi-block property to device tree 2016-11-30 08:57:50 +05:30
abilis_tb100.dtsi arc: Get rid of root core-frequency property 2016-05-30 10:07:32 +05:30
abilis_tb100_dvk.dts arc: Add "model" properly in device tree description of all boards 2016-09-30 14:48:15 -07:00
abilis_tb101.dtsi arc: Get rid of root core-frequency property 2016-05-30 10:07:32 +05:30
abilis_tb101_dvk.dts arc: Add "model" properly in device tree description of all boards 2016-09-30 14:48:15 -07:00
axc001.dtsi ARC: mm: Decouple RAM base address from kernel link address 2017-09-01 11:26:27 -07:00
axc003.dtsi ARC: [plat-axs103]: Set initial core pll output frequency 2017-12-20 12:41:45 -08:00
axc003_idu.dtsi ARC: [plat-axs103]: Set initial core pll output frequency 2017-12-20 12:41:45 -08:00
axs10x_mb.dtsi arc: dts: use 'atmel' as manufacturer for at24 in axs10x_mb 2018-02-06 14:36:32 -08:00
axs101.dts ARC: Enable fatal signals on boot for dev platforms 2018-01-18 10:51:27 -08:00
axs103.dts arc: Add "model" properly in device tree description of all boards 2016-09-30 14:48:15 -07:00
axs103_idu.dts ARC: axs10x: really enable ARC PGU 2016-11-30 11:54:25 -08:00
eznps.dts arc: Get rid of root core-frequency property 2016-05-30 10:07:32 +05:30
haps_hs.dts ARC: rename Zebu platform support to HAPS 2016-11-30 11:54:25 -08:00
haps_hs_idu.dts ARC: Enable fatal signals on boot for dev platforms 2018-01-18 10:51:27 -08:00
hsdk.dts ARC: [plat-hsdk]: Set initial core pll output frequency 2017-12-20 12:41:44 -08:00
nsim_700.dts ARC: Enable fatal signals on boot for dev platforms 2018-01-18 10:51:27 -08:00
nsim_hs.dts ARC: Enable fatal signals on boot for dev platforms 2018-01-18 10:51:27 -08:00
nsim_hs_idu.dts ARC: Enable fatal signals on boot for dev platforms 2018-01-18 10:51:27 -08:00
nsimosci.dts ARC: Enable fatal signals on boot for dev platforms 2018-01-18 10:51:27 -08:00
nsimosci_hs.dts ARC: Enable fatal signals on boot for dev platforms 2018-01-18 10:51:27 -08:00
nsimosci_hs_idu.dts ARC: Enable fatal signals on boot for dev platforms 2018-01-18 10:51:27 -08:00
skeleton.dtsi ARC: [dts] add input clocks for cpu nodes 2017-03-05 20:04:59 -08:00
skeleton_hs.dtsi ARC: [dts] add input clocks for cpu nodes 2017-03-05 20:04:59 -08:00
skeleton_hs_idu.dtsi ARC: [dts] add cpu nodes to ARCHS SMP device tree 2017-03-05 20:04:59 -08:00
vdk_axc003.dtsi arc: Get rid of root core-frequency property 2016-05-30 10:07:32 +05:30
vdk_axc003_idu.dtsi ARCv2: IDU-intc: Delete deprecated parameters in Device Trees 2017-02-06 09:37:57 -08:00
vdk_axs10x_mb.dtsi arc: remove num-slots from arc platforms 2017-08-30 14:01:32 +02:00
vdk_hs38.dts arc: Add "model" properly in device tree description of all boards 2016-09-30 14:48:15 -07:00
vdk_hs38_smp.dts arc: Add "model" properly in device tree description of all boards 2016-09-30 14:48:15 -07:00