Makefile中的脚本,用于查找工具链的通用路径

时间:2012-03-21 10:00:05

标签: bash shell makefile

我正在尝试为JVM端口编写Makefile。我已经导出了一个像$ CROSS_COMPILE = mipsel-linux-
这样的变量 对于具有特定工具链的不同平台,这可能会有所不同。 工具链可以位于不同的位置,但保证位于PATH中(例如:/ opt / toolchains / mipsel / bin / mipsel-linux-gcc)
我的目标是通常从我的make文件中获取“opt / toolchains / mipsel / bin / mipsel-linux-”的路径。
我目前的想法是做类似的事情 1)哪个$(CROSS_COMPILE)gcc -----这将返回类似“/ opt / toolchains / mipsel / bin / mipsel-linux-gcc”的内容 2)使用该字符串并从末尾删除gcc。

我想这应该是可能的。我不知道如何继续。关于如何开始的指示将不胜感激 我试过“哪个$(CROSS_COMPILE)gcc”和哪个($(CROSS_COMPILE)gcc),这两个都无法正常工作

1 个答案:

答案 0 :(得分:4)

有很多GNU Make功能可以检索例如目录名。

PATHTOTOOLS:=$(dir $(shell which $(CROSS_COMPILE)gcc))

另请注意使用:=分配仅计算一次,从而避免重复运行which命令。