Подтвердить что ты не робот

Make: *** Нет правила, чтобы сделать цель "все". Стоп

Я продолжаю получать эту ошибку:

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, но не могу ни построить, ни все.

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

make -f make

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

4b9b3361

Ответ 1

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