[make] makefile中使用include

本文介绍了一个简单的子目录编译示例,通过在根目录下的Makefile和子目录下的fun.mk文件来组织编译过程。文章详细展示了如何创建必要的源文件、头文件及Makefile配置,并确保所有依赖文件的正确引用。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值