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 CC=gcc
endif endif
ifndef RANLIB
RANLIB=ranlib
endif
ifndef CFLAGS ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g CFLAGS = -MMD -O2 -Wall -g
endif endif
@ -21,11 +25,7 @@ CFLAGS += -I../src
CFLAGS += -I../src/utils CFLAGS += -I../src/utils
OBJS_both += ../src/utils/common.o OBJS_both += ../src/utils/libutils.a
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/crypto/sha1.o OBJS_both += ../src/crypto/sha1.o
OBJS_both += ../src/crypto/sha1-tlsprf.o OBJS_both += ../src/crypto/sha1-tlsprf.o
OBJS_both += ../src/crypto/aes-cbc.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 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) ifneq ($(CONFIG_SOLIB), yes)
LIBEAP = libeap.a LIBEAP = libeap.a
libeap.a: $(OBJS_lib) libeap.a: $(OBJS_lib)
ar rc libeap.a $(OBJS_lib) $(AR) crT libeap.a $(OBJS_lib)
ranlib libeap.a $(RANLIB) libeap.a
else else
CFLAGS += -fPIC -DPIC CFLAGS += -fPIC -DPIC

View file

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

View file

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