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

“bitbake”检测更改,但“make”不执行任何操作

  •  0
  • elkav  · 技术社区  · 1 年前

    我使用的是yocto dunfell(3.1)。

    我为我的应用程序构建了配方,其中“bitbake”调用“do_compile”,后者调用“oe_runmake”,后者运行“make”。 CFLAGS在配方中定义,并在内部通过“oe_runmake”传递给“make”。 通常,此过程运行正常。

    在以下情况下会出现问题:

    1. 我只按照食谱更换了CFLAGS。源头上没有任何变化。
    2. “bitbake”检测到更改,运行“do_compile”,它运行“oe_runmake”,后者运行“make”。
    3. “make”不会从源头上检测到任何变化,也不会采取任何行动。

    在开发周期中,我可以在“bitbake”之前手动运行“make clean”,强制“make”使用新的CFLAGS编译所有源代码。但是,此过程应在构建服务器上运行,该服务器会自动从git中提取新的修订版并运行“bitbake”。

    知道吗?

    0 回复  |  直到 1 年前
        1
  •  0
  •   Wojciech Siudy    1 年前

    如果 bitbake -c compile <recipe> 不考虑你尝试做的改变 bitbake -c clean <recipe> && bitbake recipe 或者,如果只改变了食谱,例如。 CFLAGS:append = "... 您可以使用以下命令清除整个食谱的工作区 bitbake -c cleanall <recipe> .

        2
  •  0
  •   elkav    1 年前

    正如MadScientist所评论的那样,我将配方文件添加到makefile中相关目标的先决条件中。这解决了问题。 谢谢