静态库与共享库的创建
Makefile文件,创建共享库和静态库:
1 CROSSCOMPILE = arm-linux-
2
3 CC=${CROSSCOMPILE}gcc
4 LD=${CROSSCOMPILE}ld
5 AR=${CROSSCOMPILE}ar
6
7 CFLAGS= -O2 -c -Wall -fPIC
8
9 OBJCAT= *.o
10
11 all: libmodem.so.1 libmodem.a
12
13 libmodem.so.1:
14 $(CC) ${CFLAGS} serial.c atchannel.c ppp.c pipe.c interface.c heartbeat.c modem.c
15 $(CC) --shared -o $@ *.o
16
17 libmodem.a:
18 $(CC) ${CFLAGS} serial.c atchannel.c ppp.c pipe.c interface.c heartbeat.c modem.c
19 $(AR) -rcs $@ $(OBJCAT)
20
21 clean :
22 rm *.o *.d *.so.1 *.a -rf
依赖serial.c atchannel.c ppp.c pipe.c interface.c heartbeat.c modem.c七个文件生成libmodem.so.1动态库和libmodem.a静态库。
创建动态库(.so)需要使用两个参数:--shared:表示输出结果是共享库类型的,-fPIC:表示使用地址无关代码技术来生产输出文件