Я пытаюсь создать архитектуру make-файла, поэтому у меня есть один глобальный make-файл вверху, который вызывает другой в подкаталоге.
Global makefile:
CC = gcc
CFLAGS = -W -Wall -pedantic
LDFLAGS =
PROJECT = proj
SOURCES =
PATH = $(PROJECT)
include $(PATH)/Makefile
all : $(PROJECT).exe
$(PROJECT).exe :
$(CC) $(CFLAGS) $(LDFLAGS) $(DEFINES) $(INCLUDES) $(SOURCES) -o $@
clean :
rm -rf *.exe
Makefile подкаталога:
CC = gcc
CFLAGS = -W -Wall -pedantic
LDFLAGS =
SOURCES += $(PATH)/main.c
Когда я "делаю" в верхнем каталоге, у меня появляется следующая ошибка:
gcc -W -Wall -pedantic proj/main.c -o proj.exe
make: gcc: Command not found
make: *** [Makefile:17: FK16_jake.exe] Error 127
Но когда я набираю точно такую же команду (gcc -W -Wall -pedantic proj /main.c -o proj.exe) в моем терминале, он строит.
И если я удаляю make-файл include, он распознает gcc, но не строит, потому что нет исходников (нормальное поведение).