使用 vpath 时 Makefile 找不到文件
当我使用 make 时,它说
gcc -I./header -c -g main.c
gcc: error: main.c: No such file or directory
我的 makefile 在这里:
vpath %.c ./src
vpath %.h ./header
CC = gcc
FLAG = -I./header -c -g
objects = main.o a.o b.o
app: ${objects}
${CC} -o app ${objects}
main.o: main.c command.h
${CC} ${FLAG} main.c
a.o: a.c command.h
${CC} ${FLAG} a.c
b.o: b.c command.h
${CC} ${FLAG} b.c
clean:
-rm *.o app
.PHONY: clean
并且文件存储如下:
.
|-- header
| `-- command.h
|-- Makefile
`-- src
|-- a.c
|-- b.c
`-- main.c
Makefile 有什么问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该使用自动变量而不是硬编码值对于配方中的文件名:
这允许 Make 插入在
vpath
中找到的正确文件名:You should use automatic variables instead of hard coded values for file names in recipes:
This allows Make to insert the right file names found in
vpath
: