Use thin archives to allow libraries to be merged

This allows libeap.a and libeap.so to be built by merging in multiple
libraries from src subdirectories. In addition, this avoids wasting
extra space and time for local builds.
This commit is contained in:
Jouni Malinen 2009-12-06 13:49:31 +02:00
parent f721aed4b1
commit 4bb1228e1c
3 changed files with 14 additions and 9 deletions

View file

@ -6,6 +6,10 @@ ifndef CC
CC=gcc
endif
ifndef RANLIB
RANLIB=ranlib
endif
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
endif
@ -21,11 +25,7 @@ CFLAGS += -I../src
CFLAGS += -I../src/utils
OBJS_both += ../src/utils/common.o
OBJS_both += ../src/utils/os_unix.o
OBJS_both += ../src/utils/wpa_debug.o
OBJS_both += ../src/utils/base64.o
OBJS_both += ../src/utils/wpabuf.o
OBJS_both += ../src/utils/libutils.a
OBJS_both += ../src/crypto/sha1.o
OBJS_both += ../src/crypto/sha1-tlsprf.o
OBJS_both += ../src/crypto/aes-cbc.o
@ -192,11 +192,16 @@ OBJS_lib=$(OBJS_both) $(OBJS_peer) $(OBJS_server)
OBJS_ex = eap_example.o eap_example_peer.o eap_example_server.o
../src/utils/libutils.a:
$(MAKE) -C ../src/utils
ifneq ($(CONFIG_SOLIB), yes)
LIBEAP = libeap.a
libeap.a: $(OBJS_lib)
ar rc libeap.a $(OBJS_lib)
ranlib libeap.a
$(AR) crT libeap.a $(OBJS_lib)
$(RANLIB) libeap.a
else
CFLAGS += -fPIC -DPIC

View file

@ -49,6 +49,6 @@ LIB_OBJS += fips_prf_internal.o
libcrypto.a: $(LIB_OBJS)
$(AR) cr $@ $(LIB_OBJS)
$(AR) crT $@ $?
-include $(OBJS:%.o=%.d)

View file

@ -28,6 +28,6 @@ LIB_OBJS += eloop.o
#LIB_OBJS += pcsc_funcs.o
libutils.a: $(LIB_OBJS)
$(AR) cr $@ $(LIB_OBJS)
$(AR) crT $@ $?
-include $(OBJS:%.o=%.d)