在目录下创建一个test.c文件,文件内容如下
#include <stdio.h>
#include "subdir/fun.h"
int main(int argc, char **argv)
{
fun();
return 0;
}
然后创建一个makefile,文件内容如下
RM := rm -f -v
test : test.o fun.o
gcc -o test test.o fun.o
test.o : test.c
gcc -c test.c
include subdir/fun.mk
clean :
$(RM) *.o test
新建一个文件目录subdir,并在subdir下创建fun.c fun.h fun.mk三个文件
1、fun.c文件内容如下
#include "fun.h"
void fun()
{
printf("hello world from subdir/fun /n");
}
2、fun.h 文件内容如下
#include <stdio.h>
void fun(void);
3、fun.mk文件内容如下
fun.o : subdir/fun.c subdir/fun.h
gcc -c subdir/fun.c
以上文件创建完毕后,在根目录make即可。
注意:在subdir内fun.mk文件中,所有的.c .h文件必须指明完整路径,否则在上一层目录执行make指令时会提示找不到文件。