Make无法找到指定的目标,Makefile无法找到

Make无法找到指定的目标,Makefile无法找到,makefile,Makefile,艰苦地学习C语言,编写我的第一个makefile。makefile位于包含C文件“ex1.C”和“ex3.C”的目录中 正确编译可执行文件“ex1”。生成文件包含: all: ex1 ex3 但是调用“make”返回错误 make: ex1: No such file or directory. make: *** [all] Error 1 为什么make在指定为arg时能找到源代码,而在由makefile指定时却找不到源代码?makefile的这个片段 all:

艰苦地学习C语言,编写我的第一个makefile。makefile位于包含C文件“ex1.C”和“ex3.C”的目录中

正确编译可执行文件“ex1”。生成文件包含:

all:
     ex1
     ex3
但是调用“make”返回错误

make: ex1: No such file or directory.
make: *** [all] Error 1

为什么
make
在指定为arg时能找到源代码,而在由makefile指定时却找不到源代码?

makefile的这个片段

all:
     ex1
     ex3
告诉make一个目标
all
,当请求
all
目标时,该目标有两行配方要运行

因此,当您运行
make all
(或者
make
all
是第一个/默认目标时),make会尝试将
ex1
ex3
作为shell命令运行。这显然是失败的,因为它们尚未生成

假设您打算让make构建
ex1
ex3
目标您的意思是

all: ex1 ex3
对于简单的
ex1.c
->
ex1
编译,您甚至不需要生成文件。这就是为什么这本书还没有告诉您创建一个生成文件的原因

all: ex1 ex3