088b77f39c
Since the ITS API has stabilized and we don't plan to make use of more than ITS, we don't need an abstraction layer between key storage and key storage over ITS. Merge the ITS code into the generic storage module.
209 lines
5.1 KiB
Makefile
209 lines
5.1 KiB
Makefile
|
|
# Also see "include/mbedtls/config.h"
|
|
|
|
CFLAGS ?= -O2
|
|
WARNING_CFLAGS ?= -Wall -W -Wdeclaration-after-statement
|
|
LDFLAGS ?=
|
|
|
|
CRYPTO_INCLUDES ?= -I../include
|
|
LOCAL_CFLAGS = $(WARNING_CFLAGS) $(CRYPTO_INCLUDES) -D_FILE_OFFSET_BITS=64
|
|
LOCAL_LDFLAGS =
|
|
|
|
ifdef DEBUG
|
|
LOCAL_CFLAGS += -g3
|
|
endif
|
|
|
|
# MicroBlaze specific options:
|
|
# CFLAGS += -mno-xl-soft-mul -mxl-barrel-shift
|
|
|
|
# To compile on Plan9:
|
|
# CFLAGS += -D_BSD_EXTENSION
|
|
|
|
# if were running on Windows build for Windows
|
|
ifdef WINDOWS
|
|
WINDOWS_BUILD=1
|
|
else ifeq ($(shell uname -s),Darwin)
|
|
ifeq ($(AR),ar)
|
|
APPLE_BUILD ?= 1
|
|
endif
|
|
endif
|
|
|
|
# To compile as a shared library:
|
|
ifdef SHARED
|
|
# all code is position-indep with mingw, avoid warning about useless flag
|
|
ifndef WINDOWS_BUILD
|
|
LOCAL_CFLAGS += -fPIC -fpic
|
|
endif
|
|
endif
|
|
|
|
SOEXT_TLS=so.12
|
|
SOEXT_X509=so.0
|
|
SOEXT_CRYPTO=so.3
|
|
|
|
# Set AR_DASH= (empty string) to use an ar implementation that does not accept
|
|
# the - prefix for command line options (e.g. llvm-ar)
|
|
AR_DASH ?= -
|
|
|
|
ARFLAGS = $(AR_DASH)src
|
|
ifdef APPLE_BUILD
|
|
ifneq ($(APPLE_BUILD),0)
|
|
ARFLAGS = $(AR_DASH)Src
|
|
RLFLAGS = -no_warning_for_no_symbols -c
|
|
RL ?= ranlib
|
|
endif
|
|
endif
|
|
|
|
DLEXT ?= so
|
|
ifdef WINDOWS_BUILD
|
|
# Windows shared library extension:
|
|
DLEXT = dll
|
|
else ifdef APPLE_BUILD
|
|
ifneq ($(APPLE_BUILD),0)
|
|
# Mac OS X shared library extension:
|
|
DLEXT = dylib
|
|
endif
|
|
endif
|
|
|
|
OBJS_CRYPTO= aes.o aesni.o arc4.o \
|
|
aria.o asn1parse.o asn1write.o \
|
|
base64.o bignum.o blowfish.o \
|
|
camellia.o ccm.o chacha20.o \
|
|
chachapoly.o cipher.o cipher_wrap.o \
|
|
cmac.o ctr_drbg.o des.o \
|
|
dhm.o ecdh.o ecdsa.o \
|
|
ecjpake.o ecp.o \
|
|
ecp_curves.o entropy.o entropy_poll.o \
|
|
error.o gcm.o havege.o \
|
|
hkdf.o \
|
|
hmac_drbg.o md.o md2.o \
|
|
md4.o md5.o md_wrap.o \
|
|
memory_buffer_alloc.o nist_kw.o \
|
|
oid.o padlock.o pem.o \
|
|
pk.o pk_wrap.o pkcs12.o \
|
|
pkcs5.o pkparse.o pkwrite.o \
|
|
platform.o platform_util.o poly1305.o \
|
|
psa_crypto.o \
|
|
psa_crypto_slot_management.o \
|
|
psa_crypto_storage.o \
|
|
psa_its_file.o \
|
|
ripemd160.o rsa_internal.o rsa.o \
|
|
sha1.o sha256.o sha512.o \
|
|
threading.o timing.o version.o \
|
|
version_features.o xtea.o
|
|
|
|
OBJS_X509= certs.o pkcs11.o x509.o \
|
|
x509_create.o x509_crl.o x509_crt.o \
|
|
x509_csr.o x509write_crt.o x509write_csr.o
|
|
|
|
OBJS_TLS= debug.o net_sockets.o \
|
|
ssl_cache.o ssl_ciphersuites.o \
|
|
ssl_cli.o ssl_cookie.o \
|
|
ssl_srv.o ssl_ticket.o \
|
|
ssl_tls.o
|
|
|
|
.SILENT:
|
|
|
|
.PHONY: all static shared clean
|
|
|
|
ifndef SHARED
|
|
all: static
|
|
else
|
|
all: shared static
|
|
endif
|
|
|
|
static: libmbedcrypto.a libmbedx509.a libmbedtls.a
|
|
|
|
shared: libmbedcrypto.$(DLEXT) libmbedx509.$(DLEXT) libmbedtls.$(DLEXT)
|
|
|
|
# tls
|
|
libmbedtls.a: $(OBJS_TLS)
|
|
echo " AR $@"
|
|
$(AR) $(ARFLAGS) $@ $(OBJS_TLS)
|
|
ifdef APPLE_BUILD
|
|
ifneq ($(APPLE_BUILD),0)
|
|
echo " RL $@"
|
|
$(RL) $(RLFLAGS) $@
|
|
endif
|
|
endif
|
|
|
|
libmbedtls.$(SOEXT_TLS): $(OBJS_TLS) libmbedx509.so
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -L. -lmbedcrypto -lmbedx509 $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
|
|
|
|
libmbedtls.so: libmbedtls.$(SOEXT_TLS)
|
|
echo " LN $@ -> $<"
|
|
ln -sf $< $@
|
|
|
|
libmbedtls.dylib: $(OBJS_TLS) libmbedx509.dylib
|
|
echo " LD $@"
|
|
$(CC) -dynamiclib -L. -lmbedcrypto -lmbedx509 $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
|
|
|
|
libmbedtls.dll: $(OBJS_TLS) libmbedx509.dll
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_TLS) -lws2_32 -lwinmm -lgdi32 -L. -lmbedcrypto -lmbedx509 -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
|
|
|
|
# x509
|
|
libmbedx509.a: $(OBJS_X509)
|
|
echo " AR $@"
|
|
$(AR) $(ARFLAGS) $@ $(OBJS_X509)
|
|
ifdef APPLE_BUILD
|
|
ifneq ($(APPLE_BUILD),0)
|
|
echo " RL $@"
|
|
$(RL) $(RLFLAGS) $@
|
|
endif
|
|
endif
|
|
|
|
libmbedx509.$(SOEXT_X509): $(OBJS_X509) libmbedcrypto.so
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
|
|
|
|
libmbedx509.so: libmbedx509.$(SOEXT_X509)
|
|
echo " LN $@ -> $<"
|
|
ln -sf $< $@
|
|
|
|
libmbedx509.dylib: $(OBJS_X509) libmbedcrypto.dylib
|
|
echo " LD $@"
|
|
$(CC) -dynamiclib -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
|
|
|
|
libmbedx509.dll: $(OBJS_X509) libmbedcrypto.dll
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_X509) -lws2_32 -lwinmm -lgdi32 -L. -lmbedcrypto -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
|
|
|
|
# crypto
|
|
libmbedcrypto.a: $(OBJS_CRYPTO)
|
|
echo " AR $@"
|
|
$(AR) $(ARFLAGS) $@ $(OBJS_CRYPTO)
|
|
ifdef APPLE_BUILD
|
|
ifneq ($(APPLE_BUILD),0)
|
|
echo " RL $@"
|
|
$(RL) $(RLFLAGS) $@
|
|
endif
|
|
endif
|
|
|
|
libmbedcrypto.$(SOEXT_CRYPTO): $(OBJS_CRYPTO)
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_CRYPTO)
|
|
|
|
libmbedcrypto.so: libmbedcrypto.$(SOEXT_CRYPTO)
|
|
echo " LN $@ -> $<"
|
|
ln -sf $< $@
|
|
|
|
libmbedcrypto.dylib: $(OBJS_CRYPTO)
|
|
echo " LD $@"
|
|
$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_CRYPTO)
|
|
|
|
libmbedcrypto.dll: $(OBJS_CRYPTO)
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_CRYPTO) -lws2_32 -lwinmm -lgdi32 -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
|
|
|
|
.c.o:
|
|
echo " CC $<"
|
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $<
|
|
|
|
clean:
|
|
ifndef WINDOWS
|
|
rm -f *.o libmbed*
|
|
else
|
|
if exist *.o del /Q /F *.o
|
|
if exist libmbed* del /Q /F libmbed*
|
|
endif
|