通用makefile的使用

参考linux内核的Makefile编写了一个通用的makefile,它可以用来编译应用程序
①支持多个目录,多层目录,多个文件
②支持给所有的文件设置编译选项
③支持给某个目录设置编译选项
④支持给某个文件单独设置编译选项
⑤简单好用
在顶层目录下游main.c sub.c 在子目录下有sub2.c sub3.c 它们的头文件统一放在include下


第一步,在Makefile_and_readme下面的Makefile 和Makefile.build拷贝到顶层目录,然后再在子目录下面创建一个空白文件Makefile


2.确定要编译哪些源文件
修改顶层目录下的Makefile文件,obj-y += main.o obj-y += sub.o obj-y += a/

修改子目录下的Makefile文件


三、确定编译选项,链接选项
顶层目录下Makefile文件中CFLAGS,LDFLAGS 是编译和链接选项
我们把文件的.h文件都放在了include目录下,在编译时,指定在include文件下查找头文件

  • $(shell pwd):这是 Makefile 中的函数,用于执行 shell 命令并将输出插入到 Makefile 中。pwd 命令打印当前工作目录的绝对路径。因此,$(shell pwd) 会被替换为当前工作目录的路径。

指定库在哪里,用哪个库
四、使用哪个编译器
顶层目录下Makefile文件中 CROSS_COMPILE

五、确定编译 出来的文件叫什么名字

六、在子目录a下的Makefile文件中可以设置编译选项

-D 是define的意思,在编译时,会定义DEBUG,就会打印出调试信息

使用CFLAGS_sub3.o := -D DEBUG_SUB3,单独给sub3.o设置编译选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值