只是在我的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文件指向现有的目录 - 如果这些项目正在开发中并且我忘记切换到主分支等,这似乎不是一个好主意。
如果有人有任何建议会很棒。在这方面工作的团队实际上非常小,但我希望得到一个强大的系统,特别是最终的分发。
答案 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中的内容。