从其他目录运行Omake

问题描述

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

buildroot环境中,我可以定义一个自定义的Makefile,BR会自动调用文件,并且该文件调用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命令的行)的末尾缺少一个继续标记–反斜杠,以及命令序列分隔符– {{1 }}或什至更好的; –使Make可以在同一shell子进程中运行这两个命令,从而以&&作为当前目录有效地调用omake。全部放在一起,您将得到:

$(D)

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