首页 > 其他 > 详细

静态库和动态库的两种不同的Makefile写法

时间:2018-01-27 23:06:35      阅读:284      评论:0      收藏:0      [点我收藏+]
动态库

PROG=add
BIN=$(PROG).bin
SOADD= lib$(PROG).so
SHAREDOBJS= $(PROG).o
OBJS= main.o

CC=gcc

$(PROG):$(SOADD) $(OBJS)
    $(CC) $(OBJS) $(SOADD) -o $(PROG)

$(SOADD):$(SHAREDOBJS)
    $(CC) -shared $(SHAREDOBJS) -o $(SOADD)

%.o:%.c
    $(CC) -c -fpic -o $@ $<

clean:
    rm -vf $(OBJS) $(PROG) $(BIN) $(SOADD) $(SHAREDOBJS)

静态库

PROG=add
BIN=$(PROG).bin
SOADD= lib$(PROG).a
STATICOBJS= $(PROG).o
OBJS= main.o

CC=gcc

$(PROG):$(SOADD) $(OBJS)
    $(CC) $(OBJS) $(SOADD) -o $(PROG)

$(SOADD):$(STATICOBJS)
    ar -r $(SOADD) $(STATICOBJS)

%.o:%.c
    $(CC) -c -o $@ $<

clean:
    rm -vf $(OBJS) $(PROG) $(BIN) $(SOADD) $(STATICOBJS)

普通写法

PROG=add
BIN=$(PROG).bin
OBJS= main.o add.o

CC=gcc

$(PROG):$(OBJS)
    $(CC) -o $(PROG) $(OBJS) 

%.o:%.c
    $(CC) -c -o $@ $<

clean:
    rm -vf $(OBJS) $(PROG) $(BIN)

静态库和动态库的两种不同的Makefile写法

原文:http://blog.51cto.com/zhaoanan/2065883

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!