Add build rules for building a library from src/utils files
authorJouni Malinen <j@w1.fi>
Sat, 5 Dec 2009 19:39:41 +0000 (21:39 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 5 Dec 2009 19:39:41 +0000 (21:39 +0200)
This is an initial step on providing an alternative build system that
uses libraries from src subdirectories.

src/Makefile
src/utils/.gitignore [new file with mode: 0644]
src/utils/Makefile
tests/Makefile

index b02c660..8aab4cc 100644 (file)
@@ -1,7 +1,7 @@
 SUBDIRS=common crypto drivers hlr_auc_gw eapol_auth eapol_supp eap_common eap_peer eap_server l2_packet radius rsn_supp tls utils wps
 
 all:
-       @echo Nothing to be made.
+       for d in $(SUBDIRS); do [ -d $$d ] && $(MAKE) -C $$d; done
 
 clean:
        for d in $(SUBDIRS); do [ -d $$d ] && $(MAKE) -C $$d clean; done
diff --git a/src/utils/.gitignore b/src/utils/.gitignore
new file mode 100644 (file)
index 0000000..833734f
--- /dev/null
@@ -0,0 +1 @@
+libutils.a
index cffba62..8953467 100644 (file)
@@ -1,9 +1,40 @@
-all:
-       @echo Nothing to be made.
+all: libutils.a
 
 clean:
        for d in $(SUBDIRS); do make -C $$d clean; done
-       rm -f *~ *.o *.d
+       rm -f *~ *.o *.d libutils.a
 
 install:
        @echo Nothing to be made.
+
+
+ifndef CC
+CC=gcc
+endif
+
+ifndef CFLAGS
+CFLAGS = -MMD -O2 -Wall -g
+endif
+
+
+LIB_OBJS= \
+       base64.o \
+       common.o \
+       ip_addr.o \
+       radiotap.o \
+       uuid.o \
+       wpa_debug.o \
+       wpabuf.o
+
+# Pick correct OS wrapper implementation
+LIB_OBJS += os_unix.o
+
+# Pick correct event loop implementation
+LIB_OBJS += eloop.o
+
+#LIB_OBJS += pcsc_funcs.o
+
+libutils.a: $(LIB_OBJS)
+       $(AR) cr $@ $(LIB_OBJS)
+
+-include $(OBJS:%.o=%.d)
index 67570bc..bd5fbaa 100644 (file)
@@ -17,24 +17,24 @@ endif
 CFLAGS += -I../src
 CFLAGS += -I../src/utils
 
-OS_OBJS=../src/utils/os_unix.o
+LIBS = ../src/utils/libutils.a
 
+../src/utils/libutils.a:
+       $(MAKE) -C ../src/utils
 
 BASE64_OBJS=test-base64.o \
-       ../src/utils/base64.o \
-       $(OS_OBJS)
+       $(LIBS)
 
 test-base64: $(BASE64_OBJS)
        $(LDO) $(LDFLAGS) -o $@ $(BASE64_OBJS)
 
 
 MILENAGE_OBJS=test-milenage.o \
-       ../src/utils/wpa_debug.o \
        ../src/crypto/aes-internal.o \
        ../src/crypto/aes-internal-enc.o \
        ../src/crypto/aes-encblock.o \
        ../src/crypto/milenage.o \
-       $(OS_OBJS)
+       $(LIBS)
 
 test-milenage: $(MILENAGE_OBJS)
        $(LDO) $(LDFLAGS) -o $@ $(MILENAGE_OBJS)