一个编译静态库的make脚本

来源:互联网 发布:斗战胜佛工艺品知乎 编辑:程序博客网 时间:2024/06/09 16:52
CC = gccAR = arCFLAGS = -Wall -s -Os -fpic #-gCFLAGS += -DD_DEBUGLIB = -lpthread -static -lmLIBS := $(PWD)/xxx.aINC_PATH:= -I$(PWD) \        -I$(PWD)/xxx/        objects = xxx.olibnetsdk : $(objects)$(AR) -rc libnetsdk.a $(objects) $(LIBS)$(objects): %.o:%.c$(CC) $(CFLAGS) -c $< -o $@ $(INC_PATH)clean:rm -rf *.orm -rf app


$@ 代表目标  

$^   代表所有的依赖对象

$<  代表第一个依赖对象


:= 覆盖之前的值

?= 条件赋值 只有此变量在之前没有赋值的情况下才会对这个变量进行赋值。FOO ?= bar --> 如果“FOO”在之前没有定义就给它赋值“bar”否则不改变.

+= 如果被追加值的变量之前没有定义,那么,“+=”会自动变成“=”


-O2 优化选项,2表示最优优化,即编译器会优化你的程序-o 后边接的是文件名称

0 0