[make] makefile中使用include

来源:互联网 发布:java soap 客户端实例 编辑:程序博客网 时间:2024/05/16 09:47

在目录下创建一个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指令时会提示找不到文件。

 

原创粉丝点击