mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
Makefile: fix dependency for imx targets
imx targets are defined in arch/arm/mach-imx/Makefile. Some of them are dependent on targets defined in main Makefile. For the Makefile in arch/arm/mach-imx this targets must be finished before the imx targets are build, if not you get for example the error: make -f /home/hs/abb/mainlining/u-boot/scripts/Makefile.build obj=arch/arm/mach-imx u-boot-dtb.imx make[2]: *** No rule to make target 'u-boot-fit-dtb.bin', needed by 'u-boot-dtb.imx'. Stop. make[1]: *** [/home/hs/abb/mainlining/u-boot/Makefile:1123: u-boot-dtb.imx] Error 2 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/work/hs/compile/u-boot/aristainetos2_defconfig' make: *** [Makefile:148: sub-make] Error 2 compile failed In above case of CONFIG_MULTI_DTB_FIT is defined, the u-boot-dtb.imx is dependent on the u-boot-fit-dtb.bin which may is not build yet ... I could reproduce this error on a travis build also if I build an out-of-tree build on a local machine with a build directory on a "slow" slow storage device. If building the same source target with a build dir on a fast storage device, the build works. I found no solution to tell the arch/arm/mach-imx/Makefile to find the targets in main Makefile, if there is a way this would be the better fix. I solved it by adding a IMX_DEPS var, which holds a list of main u-boot targets, which must be finished, before calling imx targets and fixed the build for imx targets which enabled CONFIG_MULTI_DTB_FIT. I think it is just luck, that imx targets with CONFIG_OF_SEPARATE enabled build, because the u-boot-dtb.imx target depends on u-boot-dtb.bin which gets build early enough before starting with u-boot-dtb.imx. May this targets should be fixed too. Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
a8c1846633
commit
0f282c1876
1 changed files with 9 additions and 1 deletions
10
Makefile
10
Makefile
|
@ -1125,7 +1125,15 @@ u-boot.bin: u-boot-nodtb.bin FORCE
|
|||
$(call if_changed,copy)
|
||||
endif
|
||||
|
||||
%.imx: %.bin
|
||||
# we call Makefile in arch/arm/mach-imx which
|
||||
# has targets which are dependent on targets defined
|
||||
# here. make could not resolve them and we must ensure
|
||||
# that they are finished before calling imx targets
|
||||
ifeq ($(CONFIG_MULTI_DTB_FIT),y)
|
||||
IMX_DEPS = u-boot-fit-dtb.bin
|
||||
endif
|
||||
|
||||
%.imx: $(IMX_DEPS) %.bin
|
||||
$(Q)$(MAKE) $(build)=arch/arm/mach-imx $@
|
||||
$(BOARD_SIZE_CHECK)
|
||||
|
||||
|
|
Loading…
Reference in a new issue