问题描述
我正在尝试在我的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中的选项卡。