make:gcc:在 makefile 中包含未找到命令

Gau*_*tho 2 gcc makefile

我正在尝试创建一个 makefile 架构,因此我在顶部有一个全局 makefile,它在子目录中调用另一个全局 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
Run Code Online (Sandbox Code Playgroud)

子目录生成文件:

CC          = gcc
CFLAGS      = -W -Wall -pedantic
LDFLAGS     = 

SOURCES     += $(PATH)/main.c
Run Code Online (Sandbox Code Playgroud)

当我在顶级目录中“make”时,出现以下错误:

gcc -W -Wall -pedantic     proj/main.c -o proj.exe
make: gcc: Command not found
make: *** [Makefile:17: FK16_jake.exe] Error 127
Run Code Online (Sandbox Code Playgroud)

但是当我在终端中输入完全相同的命令(gcc -W -Wall -pedantic proj/main.c -o proj.exe)时,它正在构建。

如果我删除 makefile include,他会识别 gcc 但不会构建,因为没有源(正常行为)。

Mat*_*her 5

您正在覆盖 PATH,它用于确定在哪里查找可执行文件。更改此变量,它应该可以工作。