Makefile tips

26 篇文章 0 订阅

1. 关于 Makefile中 =, .=, ?=的区别

= 最基本的赋值

:= 覆盖之前的值

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

+= 添加等号后面的值

 

2. patsubst  -- pattern substitute 

局部替换

例如 patsubst %.c, %.o, hello.c

该方法输出hello.o

 

3. wildcard

通配符

例如wildcard *.c 即为匹配当前目录下所有的.c文件并输出名称.

 

4. 简单Makefile例子:

CC=gcc                                                                                              
CFLAGS=-g -Wall                                                                                     
LDFLAGS=-pthread                                                                                    
                                                                                                    
target=binfile                                                                                      
objs=$(patsubst %.c, %.o, $(wildcard *.c))                                                          
                                                                                                    
all:$(target)                                                                                       
                                                                                                    
$(target):$(objs)                                                                                   
›   $(CC) $^ -o $@ $(LDFLAGS)                                                                       
                                                                                                    
.c.o:                                                                                               
›   $(CC) -c $< $(CFLAGS)                                                                           
                                                                                                    
.PHONY:                                                                                             
›   clean                                                                                           
                                                                                                    
clean:                                                                                              
›   rm *.o $(target) -rf  

 

2019.08.12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值