Makefile vpath 不起作用
代码的结构是这样的
--Makefile
--main.c
--def.h
--src
|
|-----kbd.c
各位前辈,makefile一直编不过啊,请大家看看我的makefile哪地方出问题了?谢谢大家
--Makefile
--main.c
--def.h
--src
|
|-----kbd.c
//main.c
#include "def.h"
int main()
{
Hello();
return 0;
}
//def.h
#ifndef DEF_H_INCLUDED
#define DEF_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
extern void Hello(void);
#endif // DEF_H_INCLUDED
//kbd.c
#include "../def.h"
#include "../command.h"
void Hello(void)
{
printf("Hello,it's kbd!\n");
}
而我的makefile是这样的:
vpath %.c ./ : ./src
objects = main.o kbd.o
edit : $(objects)
gcc -o edit $(objects)
main.o : def.h
kbd.o : def.h
gcc -c $<
.PHONY : clean
clean:
rm *.o
各位前辈,makefile一直编不过啊,请大家看看我的makefile哪地方出问题了?谢谢大家
...全文
相关推荐
Makefile
**VPATH机制**:当依赖文件不在当前目录时,可以使用VPATH机制指定依赖文件的搜索路径,实现跨目录的依赖解析。3.
Makefile最适合入门的教程
路径搜索功能:当Makefile中涉及到大量源文件时,为了便于编译时查找,可以使用VPATH变量指定额外的搜索路径。VPATH的设置可以限定特定的文件类型或清除之前设置的路径。
Makefile 基础教程
Makefile中的文件指示(File Directives)包括include和vpath等,它们可以用来引入其他Makefile文件或者指定搜索目录。
GNU makefile 中文手册
- **目录搜索**:通过 VPATH 变量或 vpath 关键字来指定搜索路径,以便 make 在构建过程中找到需要的文件。
makefile参考手册.pdf
- **目录搜索**:通过设置VPATH变量或使用vpath关键字来控制make在哪些目录中寻找依赖文件。- **Makefile伪目标**:用于表示非文件的目标,如clean、install等。


