Не указаны цели и не найден make-файл - PullRequest
5 голосов
/ 10 февраля 2011

У меня есть файл make, который содержит этот код:

all: main.o Etudiant.o
    gcc -lobjc -o program main.o Etudiant.o
main.o:main.m Etudiant.h
    gcc -c main.m
Etudiant.o:Etudiant.m Etudiant.h
    gcc -c Etudiant.m

Когда я пишу это в команде оболочки:

$make

Я получил это:

make: **** No targets specified and no makefile found. Stop.

Как мне это исправить?

Ответы [ 4 ]

14 голосов
/ 10 февраля 2011

Ммм ... makefiles. Whee.

Все эти пробелы в начале строки. Это должны быть вкладки. Или Make заглушит действительно непонятную ошибку. Убедитесь, что это вкладки, и повторите попытку.

<Ч />

См. Кнопку на левой стороне клавиатуры с надписью «Tab». Удалите пробелы и нажмите один раз, чтобы вставить символ табуляции.

<Ч />

Попробуйте make all. IIRC (прошло несколько лет с тех пор, как мне пришлось разбираться с make-файлами), большинство make по умолчанию установят значение all, но, возможно, ваше - нет.

Расширение не имеет значения.

<Ч />

Черт возьми! Мы все очень плотные (в основном @bbum)!

"не найден Makefile" означает ... хорошо ... что Make даже не видел make-файл. Предложения переименовать Makefile.m в Makefile верны. Кроме того, вся эта табуляция в сравнении с пробельными символами, безусловно, уместна.

4 голосов
/ 11 февраля 2011

и make-файл не найден

Если вы просто наберете make без аргументов или make all, make будет искать файл с именем Makefile в текущем каталоге,Если его там нет, вы получите сообщение об ошибке.make не будет искать в подкаталогах Makefile и не будет принимать файл с именем Makefile.m.

0 голосов
/ 26 февраля 2015

Просто провел несколько безумно разочаровывающих моментов с этой ошибкой.Моя ошибка была не такой уж тонкой: я назвал Makefile MakeFile, а не Makefile, поэтому даже при использовании команды -f Makefile (принудительно изменяя имя make-файла) все равно получился not-found, потому что это был MakeFile, а не Makefile.

0 голосов
/ 13 февраля 2014

Re:
$ Make Make: * Не указаны цели и не найден make-файл. Стоп.

Я только что получил эту ошибку и обнаружил, что расширение Makefile (нет) было преобразовано в .bat где-то вдоль линии.

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