From: Jouni Malinen Date: Sun, 6 Dec 2009 11:49:31 +0000 (+0200) Subject: Use thin archives to allow libraries to be merged X-Git-Tag: hostap_0_7_1~399 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4bb1228e1ceb4af72997a5ff67401d55fa14257e;p=thirdparty%2Fhostap.git 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. --- diff --git a/eap_example/Makefile b/eap_example/Makefile index 1784d40c1..ec26bc849 100644 --- a/eap_example/Makefile +++ b/eap_example/Makefile @@ -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 diff --git a/src/crypto/Makefile b/src/crypto/Makefile index c7ba82f54..d1330a2ec 100644 --- a/src/crypto/Makefile +++ b/src/crypto/Makefile @@ -49,6 +49,6 @@ LIB_OBJS += fips_prf_internal.o libcrypto.a: $(LIB_OBJS) - $(AR) cr $@ $(LIB_OBJS) + $(AR) crT $@ $? -include $(OBJS:%.o=%.d) diff --git a/src/utils/Makefile b/src/utils/Makefile index b4a897383..bf9e44422 100644 --- a/src/utils/Makefile +++ b/src/utils/Makefile @@ -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)