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

  一同事突然对画格子(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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值