您的位置:首页 > 运维架构 > Shell

把多个子库链接成一个大库(makefile)

2006-09-28 17:02 85 查看
把一个子库链接成一个大库,需先把子库恢复成.o文件,再链接成一个大库

#********************************************************************************************

CC= mipsel-linux-gcc
LD= mipsel-linux-gcc
AR= mipsel-linux-ar
RM= rm

 

#以下为子库名,原名如:libOsPorting,
COBJS += OsPorting AVOut Demux Remote Chip Decoder MemPool Psi SockHelper
CSTATIC_LIBS :=

CLIBS :=

all: libCsip.a DecompressAr

libCsip.a: DecompressAr
 $(AR) cq $@ $(shell cat objlist)
#       $(AR) cq $@ $(wildcard ./*.o) $(CSTATIC_LIBS)
# ${Q_}$(RANLIB) $@
 ${Q_}$(RM) *.o
 ${Q_}$(RM) objlist

DecompressAr:
 $(foreach n,$(COBJS),$(AR) t lib$(shell basename $(n)).a >> objlist;)
 $(foreach n,$(COBJS),$(AR) x lib$(shell basename $(n)).a;)
 $(foreach n,$(CLIBS),$(AR) t lib$(shell basename $(n)).a >> objlist;)
 $(foreach n,$(CLIBS),$(AR) x lib$(shell basename $(n)).a;)
 #**********************************************************************************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  makefile shell wildcard