通用makefile,可以编译动态库,安装动态库

本文介绍了如何编写一个通用的Makefile,用于编译动态库并进行安装。内容涵盖Makefile中的变量定义、自动变量、常用函数以及动态库的生成和安装步骤。通过示例展示了如何设置编译选项、处理依赖关系,并完成库文件的安装和卸载。
摘要由CSDN通过智能技术生成

先普及一下makefile知识

?=   如果没有被赋值过就赋予等号后面的值
 += 是添加等号后面的值

Makefile中变量的定义一般有两种: =和:=。 =符号定义的变量叫延时变量,只有在使用的时候才扩展开来; :=符号定义的变量为立即变量,一旦定义就扩展。 使用=定义的变量不能追加新值,使用:=定义的变量可以使用+=追加新值

2.自动变量
    $<    第一个依赖文件的名称
    $?    所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚
    $@  目标的完整名称
    $^    所有的依赖文件,以空格分开,不包含重复的依赖文件
3.几个常用的函数
1. $(patsubst %.c,%.o,x.c.c bar.c)
把字串“x.c.cbar.c”符合模式[%.c]的单词替换成[%.o],返回结果是“x.c.obar.o”
2.$(filter <pattern...>,<text> )
以<pattern>模式过滤<text>字符串中的单词,保留符合模式<pattern>的单词。可以有多个模式。 
3.$(filter-out <pattern...>,<text> )
4.$(foreach <var>,<list>,<text> )
把参数<list>中的单词逐一取出放到参数<var>所指定的变量中, 然后再执行<text>所包含的表达式。每一次<text>会返回一个字符串,循环这个过程。
5.shell函数,例如files := $(shel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值