Make не может найти программу для выполнения./ bin / sh: 1: rm: не найдено - PullRequest
0 голосов
/ 05 февраля 2019

При выполнении любой из команд в следующем Makefile я получаю сообщение об ошибке

not found

Данный Makefile - this .

Сбой всех команд, включая команду clean, которая вызывает rm.

Я проверил следующие вещи:

  • Установленные программы установлены.Я могу вызвать их из терминала без проблем.
  • ПУТЬ каждого из них находится в $ PATH
  • У меня нет синтаксической ошибки в самом файле Makefile.Команды начинаются с символа табуляции.
  • Если я добавлю путь команды при вызове команды, то есть: /bin/rm *bin, она будет работать как положено.

Как хак,Я собираюсь добавить полный путь к каждой команде в Makefile, но мне хотелось бы знать, что заставляет «make» вести себя так.

1 Ответ

0 голосов
/ 05 февраля 2019

Эта строка make-файла выглядит очень подозрительно (строка 2):

PATH:=~/Space-Invaders/

попробуйте сделать это:

$(info PATH before = $(PATH))
PATH:=~/Space-Invaders/
$(info PATH after = $(PATH))

Это покажет вам, чтоПуть до и после этой команды.Простое исправление может быть таким:

PATH:=~/Space-Invaders/:$(PATH)

Похоже, что PATH просто переопределяется для меня ...

Примечание: вы можете только рекурсивно ссылаться на переменную(присвойте себе), если вы используете простое расширение :=, поэтому, если вы измените его на =, оно будет жаловаться.

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