When a dependency is added by a Makefile in an external tree to a package present in the Buildroot tree, the dependency does not get built before the package. Detailled description: When having the following in an external tree: FOO_DEPENDENCIES += bar FOO_FINAL_ALL_DEPENDENCIES gets updated and will contain bar (as shown by running make foo-show-depends) but this will not be reflected in the build order (as shown in make foo-show-build-order). In the package/pkg-generic.mk file [1] there is a call to patsubst that will compute the prerequisites for foo-show-build-order. When printing the output of pathsubst with echo $$(patsubst %,%-show-build-order,$$($(2)_FINAL_ALL_DEPENDENCIES)) the value is properly written out and will contain bar. However, the prerequisite is not present when printing them out with echo $$^ [1] https://git.buildroot.org/buildroot/tree/package/pkg-generic.mk#n996 Links: - first mailing list post: https://lists.buildroot.org/pipermail/buildroot/2022-February/637237.html - second mailing list post: https://lists.buildroot.org/pipermail/buildroot/2022-March/638117.html - minimal example: https://gitlab.com/dopsi/mve-br2-external-dep
Workaround: It is possible to build bar first and then building the entire system.
Simon, All, As I explained on the list [0], it is not possible to use a br2-external tree to modify the dependencies of a package. [0] https://lore.kernel.org/buildroot/20220309201030.GA23050@scaer/T/#m4bacf3a6047b2da82554d088f2afd805bef5a312 There is for now no way to achieve what you need without directly modifying the original package's .mk file. (note: there have been a few ideas floated around in the past, but they are far from trivial to apply, if at all.) Regards, Yann E. MORIN.