summaryrefslogtreecommitdiff
path: root/scripts/Makefile.xpl
AgeCommit message (Collapse)Author
2025-01-18Makefile: Make sure all linker input objects existMarek Vasut
In case the build system builds a directory with empty Makefile, one which does not contain any obj-y entries, the build fails to link due to missing built-in.o . This happens because of this part of scripts/Makefile.build 81 ifneq ($(strip $(obj-y) $(obj-m) $(obj-) $(subdir-m) $(lib-target)),) 82 builtin-target := $(obj)/built-in.o 83 endif which does not assign builtin-target in case obj-y is empty. The built-in target is then not built at all, and built-in.o is not generated by this part of scripts/Makefile.build 325 ifdef builtin-target 326 quiet_cmd_link_o_target = AR $@ 327 # If the list of objects to link is empty, just create an empty built-in.o ... 335 targets += $(builtin-target) 336 endif # builtin-target This is the correct behavior. The final link however expects the built-in.o to exist in every directory included in the build, even in those where the aforementioned code skipped generation of built-in.o . Make sure the built-in.o does exist for every directory used in final link simply by doing touch on every built-in.o used for the link, which will create empty built-in.o in case any built-in.o is missing. A possible alternative fix is the always define the builtin-target and always generate built-in.o . Signed-off-by: Marek Vasut <[email protected]> Tested-by: Quentin Schulz <[email protected]>
2024-10-11global: Rename SPL_TPL_ to PHASE_Simon Glass
Use PHASE_ as the symbol to select a particular XPL build. This means that SPL_TPL_ is no-longer set. Update the comment in bootstage to refer to this symbol, instead of SPL_ Signed-off-by: Simon Glass <[email protected]>
2024-10-11global: Rename SPL_ to XPL_Simon Glass
Use XPL_ as the symbol to indicate an SPL build. This means that SPL_ is no-longer set. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Define CONFIG_SPL_BUILD only for the SPL buildSimon Glass
Make this define mean SPL only, not TPL, VPL, etc. Signed-off-by: Simon Glass <[email protected]>
2024-10-11global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Complete this rename for all directories outside arch/ board/ drivers/ and include/ Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-10-11scripts: Define CONFIG_XPL_BUILD for all xPL buildsSimon Glass
The new name 'xPL' is intended to indicate a build of any phase which is not U-Boot proper. Define it for all such phases. Note that we also define CONFIG_SPL_BUILD for all xPL builds. This preserves existing behaviour, but future patches will adjust that. Signed-off-by: Simon Glass <[email protected]>
2024-10-11scripts: Add some comments about autoconf.mkSimon Glass
Now that the conversion of all CONFIG options to Kconfig is complete, these files only contain the xPL_BUILD defines. Add a comment to make this clear. Signed-off-by: Simon Glass <[email protected]>
2024-10-11scripts: Rename Makefile.spl to Makefile.xplSimon Glass
Rename this file to indicate that it refers to any non-U-Boot-proper phase, not just SPL, which is the phase immediately before U-Boot proper. Signed-off-by: Simon Glass <[email protected]>