学写makefile(二)--静态库的MAKEFILE

本文分享了如何使用MAKEFILE创建静态库,并对该库进行单元测试的过程。文章详细介绍了从编写函数到构建静态库,再到编写测试代码及MAKEFILE的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  一同事突然对画格子(UI)有了兴趣,为了帮助其早日画好格子,特意为其写了几个函数。单单写几个函数没无多大的难度,刚好自已最近在学写MAKEFILE,自已从来没有单独为某一个模块写过MAKEFILE,于是决定以静态库的形式提供我所写的函数给同事,在此过程中,个人学习了完成一个静态库全过程,同时对库函数进行了自测(编写测试代码和MAKEFILE)。
下面是制作静态库的MAKEFILE

CROSS_COMPILER:=arm-hismall-linux-
CC:=$(CROSS_COMPILER)g++
GCC:=$(CROSS_COMPILER)gcc
AR:=$(CROSS_COMPILER)ar

LIB_NAME:=./release/libgetweek.a
PROJECT_ROOT:=$(shell pwd)/src

INCLUDE_DIR+=-I$(PROJECT_ROOT)/include

#CFLAGS+=-Wall  -Werror

CFLAGS+=$(INCLUDE_DIR)

all:$(LIB_NAME)
$(LIB_NAME):getweek.o
 $(AR) -rsv -o $(LIB_NAME) getweek.o
getweek.o:$(PROJECT_ROOT)/getweek.cpp
 $(CC) $(CFLAGS) -c $(PROJECT_ROOT)/getweek.cpp
 
clean:
 rm -f $(LIB_NAME)
 rm -f *.o 
 
---------------------------------------------------------------------------------- 
|        单元测试函数的MAKEFILE                       |
---------------------------------------------------------------------------------- 

CROSS_COMPILER:=arm-hismall-linux-
CC:=$(CROSS_COMPILER)g++
GCC:=$(CROSS_COMPILER)gcc
AR:=$(CROSS_COMPILER)ar

 

EXE_NAME:=./getweek_test


PROJECT_ROOT:=./


INCLUDE_DIR+=-I$(PROJECT_ROOT)/../include
STATIC_LIB+=../../release/libgetweek.a


CFLAGS+=-Wall  -Werror
CFLAGS+=$(INCLUDE_DIR)
LDFLAGS+=$(STATIC_LIB)

all:$(EXE_NAME)
$(EXE_NAME): getweek_test.o
 $(CC) $(CFLAGS) -o $(EXE_NAME) getweek_test.o $(LDFLAGS)
 @echo "ok"

getweek_test.o:getweek_test.cpp
 $(CC) $(CFLAGS) -c $(PROJECT_ROOT)/getweek_test.cpp $(LDFLAGS)

clean:
 rm -f $(EXE_NAME)
 rm -f *.o

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值