make: *** Нет правила для создания цели `all '.Стоп - PullRequest
17 голосов
/ 27 марта 2012

Я получаю эту ошибку:

make: *** No rule to make target `all'.  Stop.

Хотя мой make-файл выглядит так:

CC=gcc
CFLAGS=-c -Wall

all: build

build: inputText.o outputText.o main.o
    gcc main.o inputText.o outputText.o -o main

main.o: main.c
    $(CC) $(CFLAGS) main.c -o main.o

inputText.o: inputText.c
    $(CC) $(CFLAGS) inputText.c -o inputText.o

outputText.o: outputText.c
    $(CC) $(CFLAGS) outputText.c -o outputText.o

Да, под целью должно быть пространство вкладок, и оно есть в моем файле make.

Я могу заставить его работать, если я попробую одну из целей, таких как main.o, inputText.o и outputText.o, но не смогу ни с build, ни со всеми.

EDIT: Я просто случайно попытался запустить make и сообщить ему файл, используя следующую команду:

make -f make

Это работает, но почему просто печатать не получается?

1 Ответ

17 голосов
/ 27 марта 2012

Ваш make-файл в идеале должен иметь имя makefile, а не make. Обратите внимание, что вы можете вызывать ваш make-файл как угодно, но, как вы нашли, вам потребуется опция -f с make, чтобы указать имя make-файла. Использование имени по умолчанию makefile просто облегчает жизнь.

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