Ошибки Make

Содержание
No rule to make target
GNUmakefile:1: *** missing separator. Stop.
Syntax error : end of file unexpected (expecting "fi")
OLDPWD not set
@echo: command not found
-bash: make: command not found
Похожие статьи

No rule to make target

make: *** No rule to make target 'main.cpp', needed by 'main.o'. Stop.

GNUmakefile:1: *** missing separator. Stop.

Если вы видите ошибку

GNUmakefile:1: *** missing separator. Stop.

Обратите внимание на GNUmakefile:1:

1 - это номер строки, в которой произошла ошибка

Возможно где-то вместо табуляции затесался пробел. Напоминаю, что в makefile отступы должны быть заданы табуляциями.

Либо таргет перечислен без двоеточия .PHONY clean вместо .PHONY: clean

Либо какая-то похожая ошибка.

Syntax error : end of file unexpected (expecting "fi")

Если вы видите ошибку

Syntax error : end of file unexpected (expecting "fi")

Обратите внимание на расстановку ; в конце выражений и расстановку \ при переносе строк.

Изучите этот пример и сравните со своим кодом.

OLDPWD not set

Если внутри makefile вы выполняете cd и видите ошибку

OLDPWD not set

Попробуйте сперва явно перейти в текущую директорию с помощью CURDIR

cd $(CURDIR)

@echo: command not found

Если внутри makefile вы пытаетесь подавить вывод echo и получаете

@echo: command not found

Скорее всего echo это не первая команда в строке

НЕПРАВИЛЬНО:

if [ ! -f /home/andrei/Downloads/iso/centos_netinstall.iso ]; then \ rm ./CentOS-7-x86_64-NetInstall-*; \ wget -r -np "http://builder.hel.fi.ssh.com/privx-builds/latest/PrivX-master/Deliverables/" -A "CentOS-7-x86_64-NetInstall-2009.iso

-*.iso; \ else \ @echo "WARNING: centos_netinstall.iso already exists"; \

ПРАВИЛЬНО:

@if [ ! -f /home/andrei/Downloads/iso/centos_netinstall.iso ]; then \ rm ./CentOS-7-x86_64-NetInstall-*; \ wget -r -np "http://builder.hel.fi.ssh.com/privx-builds/latest/PrivX-master/Deliverables/" -A "CentOS-7-x86_64-NetInstall-2009.iso

-*.iso; \ else \ echo "WARNING: centos_netinstall.iso already exists"; \

-bash: make: command not found

Ошибка

-bash: make: command not found

Означает, что make не установлен.

Установить make в rpm системах можно с помощью yum в deb система - с помощью apt

sudo yum -y install make
sudo apt -y install make

Похожие статьи
make
Основы make
PHONY
CURDIR
shell
wget + make
Переменные в Make файлах
ifeq: Условные операторы
filter
-c: Компиляция
Linux
Bash
C
C++
C++ Header файлы
Configure make install
DevOps
Docker
OpenBSD
Errors make