当前位置:  技术问答>linux和unix

怎样将整个工程编译成静态库?

    来源: 互联网  发布时间:2014-12-15

    本文导语:  也就是说有很多c和h文件 | such as: C_OBJ=a.o b.o c.a : a.h b.h $(C_OBJ)     ar rv $@ $(C_OBJ) Just try and modify it yourself  I have no way to prove it's correctivity | 给你一个例子...

也就是说有很多c和h文件

|
such as:


C_OBJ=a.o b.o

c.a : a.h b.h $(C_OBJ)
    ar rv $@ $(C_OBJ)

Just try and modify it yourself 
I have no way to prove it's correctivity

|
给你一个例子吧
# Generated automatically from Makefile.in by configure.
##
## Makefile for libsnmp.
## 
## because this is for Linux with ELF only, we are building 
## a shared lib, to be installed in /lib.
##

## set to installation prefix (overridden by configure --prefix=path):
prefix=/usr

VERSION = 3.7
OSHLIB= libsnmp.so
ALIB = libsnmp.a

TARG=   libsnmp.so

CSRCS=  snmp_client.c snmp.c snmp_auth.c asn1.c mib.c parse.c snmp_api.c 
        md5.c usec.c snmpdump.c
OBJS=   snmp_client.o snmp.o snmp_auth.o asn1.o mib.o parse.o snmp_api.o 
        md5.o usec.o snmpdump.o

CC= cc
FLAGS= -g -O 
DEFS=  
MIBDEFS= -DMIBFILEPATH="$(prefix)/lib"
# CFLAGS=-O -DDEBUG -DBSD4_3
CFLAGS= -fPIC $(FLAGS) $(DEFS) $(CONFDEFS)


all:    $(TARG)

$(OSHLIB):    ${OBJS}
        $(CC) -shared -Wl,-soname,$(OSHLIB).$(VERSION) -o $(OSHLIB).$(VERSION) $(OBJS)
        ln -sf $(OSHLIB).$(VERSION) $(OSHLIB)

$(ALIB):    ${OBJS}
        ar r $(ALIB) ${OBJS}
        ranlib $(ALIB)

##
## special rule to include -DMIBFILEPATH=...:
##
mib.o:          mib.c
        $(CC) $(CFLAGS) $(MIBDEFS)      -c mib.c 

clean:
        rm -f core *.o ${TARG} shared/*.o *.a *.so*


# install:      ../lib/libsnmp.a

# ../lib/libsnmp.a:     libsnmp.a
#       cp libsnmp.a ../lib
#       ranlib ../lib/libsnmp.a
#
# lint:
#       lint -nhx $(CSRCS)

asn1.o: ./asn1.h
mib.o: ./asn1.h
mib.o: ./snmp_impl.h
mib.o: ./snmp_api.h
mib.o: ./parse.h
parse.o: ./parse.h
snmp.o: ./asn1.h
snmp.o: ./snmp.h
snmp.o: ./snmp_impl.h
snmp.o: ./mib.h
snmp_api.o: ./asn1.h
snmp_api.o: ./snmp.h
snmp_api.o: ./snmp_impl.h
snmp_api.o: ./snmp_api.h
snmp_auth.o: ./asn1.h
snmp_auth.o: ./snmp.h
snmp_auth.o: ./snmp_impl.h
snmp_client.o: ./asn1.h
snmp_client.o: ./snmp.h
snmp_client.o: ./snmp_impl.h
snmp_client.o: ./snmp_api.h
snmp_client.o: ./snmp_client.h

这是snmplib库的生成makefile

|
你们不用Makefile吗?
如:
    lib:
        lib(file1.o) lib(file2.o)
    .xx.a:
        $(CC) -c $(CFLAGS) $

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 驱动是由硬件工程师写,还是软件工程师写啊
  • 请问Qt的工程文件,如何转成VC的工程文件??
  • JB7中,怎么把一个工程的子FORM及其相关重用到另一个工程中?
  • Android工程:引用另一个Android工程的方法详解
  • Java 反向工程软件 Minjava iis7站长之家
  • 学软件工程(专升本)是不是linux软件开发工程师的起步之路?
  • 我在一个Jbuilder工程里,写了很多的javabeans类,在另一个工程里,我想用它们,怎么配置??
  • 智能手机底层驱动工程师和光纤收发器网关开发工程师,哪个更有前途呢?
  • qt4导入qt3工程
  • 求教高手rose对java源程序逆向工程的问题!
  • 怎样做一个系统工程师
  • 请问unix/linux下Cb编程中,是否有工程的概念。
  • 社会工程学工具 Social-Engineering Toolkit
  • Java 反向工程软件 Minjava
  • LINUX工程师级别划分
  •  只有一点JAVA语言基础,但是想先看看关于软件工程方面的东西.可能吗?
  • 分布式工程配置zookeeper化 zkconfigutil
  • 难道JBuilder5的工程名不支持大写?
  • 关于jbuilder工程问题
  • 请问《软件工程java语言实现》一书在那里能下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3