运行 来自其他目录的 Omake

Run Omake from an other directory

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

在buildroot环境下,我可以自定义一个由BR自动调用的Makefile,这个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)

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

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

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

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