我有一个包含内容的非常小的make文件
VPATH = src
main: main.o
gcc -o main main.o
main.o: main.c
gcc -c main.c
当前目录包含一个包含main.c的目录src
当我执行make时,我收到错误
gcc -c main.c
gcc: main.c: No such file or directory
gcc: no input files
make: *** [main.o] Error 1
当我在当前目录中移动main.c时,它可以工作。似乎VPATH宏不起作用。请让我知道VPATH的用法。
答案 0 :(得分:6)
虽然make
找到main.c
就好了,但您在这里错过了自动变量的使用:
main.o : main.c
gcc -o $@ -c $<
将通过make gcc
调用
gcc -o main.o -c src/main.c
始终尽可能使用automatic variables $<
(第一个先决条件)和$@
(目标),使它们更强大,更易于阅读。