静态库和动态库的生成实例
2015-10-29 14:27
239 查看
CFLAGS = $(COPTS) -I.. -I../../include -fPIC
LDFLAGS = -shared
%.so: %.c
$(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^
radius.so: radius.o libradiusclient.a
$(CC) -o radius.so -shared radius.o libradiusclient.a
radattr.so: radattr.o
$(CC) -o radattr.so -shared radattr.o
radrealms.so: radrealms.o
$(CC) -o radrealms.so -shared radrealms.o
CLIENTOBJS = avpair.o buildreq.o config.o dict.o ip_util.o \
clientid.o sendserver.o lock.o util.o md5.o
libradiusclient.a: $(CLIENTOBJS)
$(AR) rv $@ $?
.PHONY: build test
build: libmylib.a
libmylib.a: my_math.o my_print.o
ar crv $@ my_math.o my_print.o
my_math.o: my_math.c
gcc -c my_math.c
my_print.o: my_print.c
gcc -c my_print.c
test: a.out
a.out: test.c
gcc test.c -L. -lmylib
LDFLAGS = -shared
%.so: %.c
$(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^
radius.so: radius.o libradiusclient.a
$(CC) -o radius.so -shared radius.o libradiusclient.a
radattr.so: radattr.o
$(CC) -o radattr.so -shared radattr.o
radrealms.so: radrealms.o
$(CC) -o radrealms.so -shared radrealms.o
CLIENTOBJS = avpair.o buildreq.o config.o dict.o ip_util.o \
clientid.o sendserver.o lock.o util.o md5.o
libradiusclient.a: $(CLIENTOBJS)
$(AR) rv $@ $?
.PHONY: build test
build: libmylib.a
libmylib.a: my_math.o my_print.o
ar crv $@ my_math.o my_print.o
my_math.o: my_math.c
gcc -c my_math.c
my_print.o: my_print.c
gcc -c my_print.c
test: a.out
a.out: test.c
gcc test.c -L. -lmylib
相关文章推荐
- Virtualbox WDDM之DxgkDdiSetPointerPosition
- Linux基本命令
- git 如何让单个文件回退到指定的版本
- 自定义alert,confirm,prompt事件,模仿window.alert(),confirm(),prompt()
- Xcode 7 ATS设置
- js倒计时
- [转]iOS开发总结之代码规范
- GitHub秘籍
- java读取配置文件中的每一行并遍历
- UIApplication
- 横竖屏切换时候Activity的生命周期
- java性能优化的地方
- nginx配置详解
- 11.线性表之单链表的基本操作
- TRUNC函数,ORA-01898 精度说明符过多
- 线上应用故障排查之一:高CPU占用
- 【Mockplus教程】删除
- Android平台下利用zxing实现二维码开发
- MySQL备份方案(综述及脚本)
- 横竖屏切换时候Activity的生命周期