如何递归的调用makefile,并指定路径
首先在一个目录下创建fun.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
vpath %.c subdir
vpath %.h subdir
include subdir/fun.mk
clean:
$(RM) *.o test
新建一个目录subdir,在subdir目录下创建fun.c fun.h fun.mk
fun.c的内容如下:
#include "fun.h"
void fun ()
{
printf ("hello world from subdir\n");
}
fun.h的内容如下:
#include <stdio.h>
void fun ();
fun.mk的内容如下:
fun.o:fun.c fun.h
gcc -c subdir/fun.c
以上内容创建完毕以后在程序根目录下make就可以