summaryrefslogtreecommitdiff
path: root/scripts/Makefile.lib-u-boot
AgeCommit message (Collapse)Author
3 dayskbuild: Use if_changed for font and splash .incbin rulesSimon Glass
The generated .S files for fonts and splash screens use .incbin with the full prerequisite path. When building with O= this bakes an absolute path into the .S file. If the build directory is later used on a different machine (e.g. in a container), the assembler cannot find the source file. Follow the existing DTB convention: rename the object targets to use compound suffixes (.ttf.o, .bmp.o), switch the pattern rules from direct $(call cmd,...) to FORCE + $(call if_changed,...), and register the new suffixes with intermediate_targets so that kbuild loads their .cmd files. This lets if_changed detect when the recorded command (including source paths) has changed and regenerate the .S file automatically. The EFI rule is left unchanged since its prerequisite is a generated file in the build directory, like the DTB and DTBO rules. The intermediate_targets entries stay in scripts/Makefile.build rather than moving to scripts/Makefile.lib-u-boot, because that file is included before intermediate_targets is defined and 'targets' is ':=', so a '$(call intermediate_targets, ...)' inside it would expand to empty and silently drop the entries. To keep the upstream block untouched, the U-Boot additions go in a separate 'targets +=' block immediately below. Suggested-by: Rasmus Villemoes <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Rasmus Villemoes <[email protected]>
3 dayskbuild: Move U-Boot .incbin rules to Makefile.lib-u-bootSimon Glass
The font, splash-screen and EFI .incbin wrapper rules are U-Boot additions that do not exist in the upstream Linux kbuild. Keeping them in scripts/Makefile.lib makes re-syncing with Linux harder than it needs to be, as every sync must manually preserve the U-Boot additions. Move these rules into a new scripts/Makefile.lib-u-boot and include it from Makefile.build and Makefile.xpl, right after the existing Makefile.lib include. This is a pure code-move with no functional change. Suggested-by: Tom Rini <[email protected]> Signed-off-by: Simon Glass <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Rasmus Villemoes <[email protected]>