Secure partitions DTB files are incorrectly rebuilt
Open, Needs TriagePublic

Description

When building the Cactus secure partition, a DTB file is generated as part of the normal build process.

> make distclean
> make cactus
  CC      spm/cactus/cactus_main.c
[...snip...]
  DTBGEN  spm/cactus/cactus.dts

Built build/fvp/release/cactus.dtb successfully
[...snip...]

When attempting to rebuild cactus straight away, one would expect that the build system would do nothing, because no file was changed in between. However, the DTB file is incorrectly rebuilt:

> make cactus
  DTBGEN  spm/cactus/cactus.dts

Built build/fvp/release/cactus.dtb successfully

If attempting to build Cactus a 3rd time, this behaves as expected:

> make cactus
make: Nothing to be done for 'cactus'.

This seems to be down to the way the cactus.mk makefile is written. The build directory being updated after the DTB file generation triggers the 2nd incorrect rebuild. See the discussion in Gerrit around the patch that introduced the issue.

Note that ivy.mk suffers from the same issue.