推荐的Buildroot外部树结构

时间:2018-01-29 19:06:50

标签: git buildroot

只是在我的buildroot项目结构上寻找一些建议。目前我有这个:

projectRoot:
+---projectOS
    +---BuildRoot
    +---BuildRootExternalTree
        +---External board/config/package etc.
        ----in/desc/mk
    +---BuildRootOutput
        ---Images etc.
    ----Makefile
+---projectApp1
    +---src
    ---- CMakeLists.txt
+---projectApp2
    +---src
    ---- CMakeLists.txt

要实际构建我的rootfs +图像,我在ProjectOS中运行make文件,它在BuildRoot中调用make,并将BR2_EXTERNAL路径设置为BuildRootExternalTree。

我想将projectApp [1..N]作为外部包。它们目前通过CMake / Make构建。我已经在外部树中设置了所有我的Config.in以便被buildroot识别,所以现在我必须决定这些包中的Make文件如何访问源/传递交叉编译工具链路径。

似乎buidlroot标准是从一些repo下载包源文件,这对我来说似乎是一个好主意。我是否应该考虑制作projectApp [1..N] git子模块,然后使用包Make文件将其主分支克隆到相关目录中?或者我可以简单地将Make文件指向现有的目录 - 如果这些项目正在开发中并且我忘记切换到主分支等,这似乎不是一个好主意。

如果有人有任何建议会很棒。在这方面工作的团队实际上非常小,但我希望得到一个强大的系统,特别是最终的分发。

1 个答案:

答案 0 :(得分:3)

我建议您对这些包使用local SITE_METHOD。类似的东西:

PROJECTAPP1_SITE = $(TOPDIR)/../projectApp1 PROJECTAPP1_SITE_METHOD = local

这将告诉Buildroot不下载这些软件包的源代码,而是在PROJECTAPP1_SITE中指定的路径上本地提供源代码。

有关详细信息,请参阅幻灯片269以及https://free-electrons.com/doc/training/buildroot/buildroot-slides.pdf中的内容。