Browse Source

Add rules for building src/crypto as a library

For now, this is hardcoded to support only the internal crypto
implementation.
Jouni Malinen 15 years ago
parent
commit
631afd993f
5 changed files with 74 additions and 16 deletions
  1. 1 0
      src/crypto/.gitignore
  2. 46 3
      src/crypto/Makefile
  3. 21 0
      src/lib.rules
  4. 1 8
      src/utils/Makefile
  5. 5 5
      tests/Makefile

+ 1 - 0
src/crypto/.gitignore

@@ -0,0 +1 @@
+libcrypto.a

+ 46 - 3
src/crypto/Makefile

@@ -1,9 +1,52 @@
-all:
-	@echo Nothing to be made.
+all: libcrypto.a
 
 clean:
 	for d in $(SUBDIRS); do make -C $$d clean; done
-	rm -f *~ *.o *.d
+	rm -f *~ *.o *.d libcrypto.a
 
 install:
 	@echo Nothing to be made.
+
+
+include ../lib.rules
+
+CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT
+CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
+#CFLAGS += -DALL_DH_GROUPS
+
+LIB_OBJS= \
+	aes-cbc.o \
+	aes-ctr.o \
+	aes-eax.o \
+	aes-encblock.o \
+	aes-internal.o \
+	aes-internal-dec.o \
+	aes-internal-enc.o \
+	aes-omac1.o \
+	aes-wrap.o \
+	des-internal.o \
+	dh_group5.o \
+	dh_groups.o \
+	md4-internal.o \
+	md5.o \
+	md5-internal.o \
+	md5-non-fips.o \
+	milenage.o \
+	ms_funcs.o \
+	rc4.o \
+	sha1.o \
+	sha1-internal.o \
+	sha1-pbkdf2.o \
+	sha1-tprf.o \
+	sha256.o \
+	sha256-internal.o
+
+LIB_OBJS += crypto_internal.o
+LIB_OBJS += tls_internal.o
+LIB_OBJS += fips_prf_internal.o
+
+
+libcrypto.a: $(LIB_OBJS)
+	$(AR) cr $@ $(LIB_OBJS)
+
+-include $(OBJS:%.o=%.d)

+ 21 - 0
src/lib.rules

@@ -0,0 +1,21 @@
+ifndef CC
+CC=gcc
+endif
+
+ifndef CFLAGS
+CFLAGS = -MMD -O2 -Wall -g
+endif
+
+CFLAGS += -I.. -I../utils
+
+
+Q=@
+E=echo
+ifeq ($(V), 1)
+Q=
+E=true
+endif
+
+%.o: %.c
+	$(Q)$(CC) -c -o $@ $(CFLAGS) $<
+	@$(E) "  CC " $<

+ 1 - 8
src/utils/Makefile

@@ -8,14 +8,7 @@ install:
 	@echo Nothing to be made.
 
 
-ifndef CC
-CC=gcc
-endif
-
-ifndef CFLAGS
-CFLAGS = -MMD -O2 -Wall -g
-endif
-
+include ../lib.rules
 
 LIB_OBJS= \
 	base64.o \

+ 5 - 5
tests/Makefile

@@ -17,11 +17,15 @@ endif
 CFLAGS += -I../src
 CFLAGS += -I../src/utils
 
-LIBS = ../src/utils/libutils.a
+LIBS = ../src/utils/libutils.a \
+	../src/crypto/libcrypto.a
 
 ../src/utils/libutils.a:
 	$(MAKE) -C ../src/utils
 
+../src/crypto/libcrypto.a:
+	$(MAKE) -C ../src/crypto
+
 BASE64_OBJS=test-base64.o \
 	$(LIBS)
 
@@ -30,10 +34,6 @@ test-base64: $(BASE64_OBJS)
 
 
 MILENAGE_OBJS=test-milenage.o \
-	../src/crypto/aes-internal.o \
-	../src/crypto/aes-internal-enc.o \
-	../src/crypto/aes-encblock.o \
-	../src/crypto/milenage.o \
 	$(LIBS)
 
 test-milenage: $(MILENAGE_OBJS)