скрипт в Makefile, чтобы узнать путь к цепочке инструментов - PullRequest
2 голосов
/ 21 марта 2012

Я пытаюсь написать Makefile для порта JVM.Я уже экспортировал переменную, такую ​​как $ CROSS_COMPILE = mipsel-linux-
. Это может быть разным для разных платформ с определенными наборами инструментов.Цепочка для инструментов может быть расположена в разных местах, но она гарантированно находится в PATH (например: / opt / toolchains / mipsel / bin / mipsel-linux-gcc)
Моя цель в общем случае получить путь до "opt /toolchains / mipsel / bin / mipsel-linux- "из моего файла make.
В настоящее время я думаю о том, чтобы сделать что-то вроде
1) which $ (CROSS_COMPILE) gcc -----, который вернет что-то вроде"/ opt / toolchains / mipsel / bin / mipsel-linux-gcc "
2) Используйте эту строку и удалите gcc с конца.

Полагаю, это должно быть возможно.Я понятия не имею, хотя о том, как поступить.Будут оценены указатели на то, как начать.
Я пробовал «какие $ (CROSS_COMPILE) gcc» и какие ($ (CROSS_COMPILE) gcc), оба из которых не работают

1 Ответ

4 голосов
/ 21 марта 2012

Существует множество функций GNU Make для получения, например, имени каталога.

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

Также обратите внимание на использование задания := для его вычисления только один раз и, таким образом, избегайте многократного выполнения команды which.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...