One of the biggest issues that the current codebase of TF-A has is the build system. It is unfit for the amount of options and dependencies of said options, and adding new features is now an effort of trying to add the new feature while not breaking the rest of the code.
There is another problem. When the firmware is compiled with, say, OPTION=1, if it is recompiled with OPTION=0 without cleaning first, nothing will be rebuilt.
We have had several discussions about this internally and we have decided to migrate to Kbuild/Kconfig, the build system used by the Linux kernel. There are already some projects using it, like U-Boot or Zephyr RTOS.
We are starting the work related to this migration, and our intention is to migrate upstream platforms to this new build system.
However, this change means that: - All non-upstream platforms will break until they update their makefiles. - Compilation under Windows won't be possible anymore without Cygwin or MinGW.
We're open to comments.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.