Add rules for building src/crypto as a library

For now, this is hardcoded to support only the internal crypto
implementation.
This commit is contained in:
Jouni Malinen 2009-12-05 22:03:46 +02:00
parent 841b52b403
commit 631afd993f
5 changed files with 74 additions and 16 deletions

1
src/crypto/.gitignore vendored Normal file
View File

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

View File

@ -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
src/lib.rules Normal file
View File

@ -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 " $<

View File

@ -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 \

View File

@ -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)