makefile 中使用include

如何递归的调用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就可以

你可能感兴趣的:(gcc,include,makefile,fun)