代码之家  ›  专栏  ›  技术社区  ›  Rampartisan

建议的Buildroot外部树结构

  •  1
  • Rampartisan  · 技术社区  · 6 年前

    只是想就我的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\u外部路径设置为BuildRootExternalTree。

    我希望projectApp[1..N]是外部包。它们目前是通过CMake/Make从源代码构建的。我已经设置了所有配置。在buildroot识别的外部树中,现在我必须决定这些包中的Make文件如何访问源代码/传递交叉编译工具链路径。

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

    如果有人有任何建议,那就太好了。从事这项工作的团队实际上非常小,但我想让一个强大的系统运行起来,特别是对于最终的分发。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Thomas Petazzoni    6 年前

    我建议您使用 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 了解更多详细信息。