首页 > 解决方案 > 从其他目录运行 Omake

问题描述

我正在尝试从我的 buildroot 环境中的 git 存储库添加自定义包。该软件包是使用 omake 构建的,并且在其根目录中有一个 OMakeroot 文件。

在 buildroot 环境中,我可以定义一个由 BR 自动调用的自定义 Makefile,这个应该调用 omake 命令。问题是包含此 Makefile 的目录与构建目录不同。Buildroot 给出了带有变量的构建路径$(D)

如果我使用标准 Makefile,命令将是这样的:

$(MAKE) TARGET_CC=$(TARGET_CC) -C $(D)   <= -C is used to change directory

与此命令等效的 omake 是什么?

像这样的东西不起作用:

omake TARGET_CC=$(TARGET_CC) $(D)/OMakeroot  

或者

cd $(D)
omake TARGET_CC=$(TARGET_CC)

标签: buildrootomake

解决方案


您的两次尝试看起来应该是生成文件中的规则配方,每行开头都有一个制表符。

您的第二次尝试接近解决方案,但它在第一行(带有命令的行)的末尾缺少一个继续标记 - 一个反斜杠cd,以及一个命令序列分隔符 -;甚至更好&&- 以便 Make 可以运行这两个命令在同一个 shell 子进程中,所以它omake被有效地调用$(D)为当前目录。所有放在一起,你得到:

    cd $(D) && \
    omake TARGET_CC=$(TARGET_CC)

不过,这两个命令足够短,可以放在一行上。另请注意,前导选项卡可能会在您的 Web 浏览器中显示为四个空格的序列,但它们实际上应该是 makefile 中的选项卡。


推荐阅读