From 4bb1228e1ceb4af72997a5ff67401d55fa14257e Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 6 Dec 2009 13:49:31 +0200 Subject: [PATCH] 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. --- eap_example/Makefile | 19 ++++++++++++------- src/crypto/Makefile | 2 +- src/utils/Makefile | 2 +- 3 files changed, 14 insertions(+), 9 deletions(-) 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)