@DVoropaev
Ставлю + к карме на хабре за ответы на вопросы

Как создать каталог в make?

Изначально makefile выглядел так:
install:
	mkdir "/usr/local/bin/myprogram/"
	cp ./src/myprogram /usr/local/bin/myprogram/
	...

Все хорошо, но если я подредактирую код и повторно сделаю make install, то он ругается что каталог существует и останавливается.
sudo make install 
mkdir "/usr/local/bin/myprogram/"
mkdir: невозможно создать каталог «/usr/local/bin/myprogram/»: Файл существует
makefile:2: recipe for target 'install' failed
make: *** [install] Error 1
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Поставьте минус перед mkdir (и перед cp то же).
make анализирует код возврата каждой выполняемой команды по отдельности, если команда завершается с кодом возврата не равным 0 (обычно это признак ошибки при работе программы), то make по умолчанию завершает процесс сборки с ошибкой. Знак минус заставляет make игнорировать код возврата.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы