|
@@ -0,0 +1,175 @@
|
|
|
+############################################################################
|
|
|
+# apps/crypto/wolfssl/Makefile
|
|
|
+#
|
|
|
+# Copyright (C) 2006-2023 wolfSSL Inc.
|
|
|
+#
|
|
|
+# This file is part of wolfSSL. (formerly known as CyaSSL)
|
|
|
+#
|
|
|
+# wolfSSL is free software; you can redistribute it and/or modify
|
|
|
+# it under the terms of the GNU General Public License as published by
|
|
|
+# the Free Software Foundation; either version 2 of the License, or
|
|
|
+# (at your option) any later version.
|
|
|
+#
|
|
|
+# wolfSSL is distributed in the hope that it will be useful,
|
|
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
+# GNU General Public License for more details.
|
|
|
+#
|
|
|
+# You should have received a copy of the GNU General Public License
|
|
|
+# along with this program; if not, write to the Free Software
|
|
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
+#
|
|
|
+############################################################################
|
|
|
+
|
|
|
+include $(APPDIR)/Make.defs
|
|
|
+
|
|
|
+# wolfSSL SSL/TLS crypto library
|
|
|
+
|
|
|
+# Set up build configuration and environment
|
|
|
+https://github.com/wolfSSL/wolfssl/archive/refs/tags/v5.5.4-stable.zip
|
|
|
+WOLFSSL_URL ?= "https://github.com/wolfSSL/wolfssl/archive/refs/tags"
|
|
|
+
|
|
|
+WOLFSSL_VERSION = $(patsubst "%",%,$(strip $(CONFIG_WOLFSSL_VERSION)))
|
|
|
+WOLFSSL_ZIP = v$(WOLFSSL_VERSION)-stable.zip
|
|
|
+
|
|
|
+WOLFSSL_UNPACKNAME = wolfssl
|
|
|
+WOLFSSL_EXAMPLESNAME = wolfssl-examples
|
|
|
+UNPACK ?= unzip -q -o
|
|
|
+
|
|
|
+# WOLFSSL TLS FILES
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/crl.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/internal.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/keys.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/ocsp.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/sniffer.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/ssl.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/tls.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/tls13.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/src/wolfio.c
|
|
|
+
|
|
|
+# wolfCrypt Core (FIPS validated crypto available contact fips@wolfssl.com)
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/aes.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/cmac.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/des3.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/dh.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/ecc.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/hmac.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/random.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/rsa.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sha.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sha256.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sha512.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sha3.c
|
|
|
+
|
|
|
+# wolfCrypt Additional
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/asm.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/asn.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/blake2s.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/chacha.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/chacha20_poly1305.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/coding.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/compress.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/cpuid.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/cryptocb.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/curve25519.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/curve448.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/ecc_fp.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/eccsi.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/ed25519.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/ed448.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/error.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/fe_448.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/fe_low_mem.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/fe_operations.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/ge_448.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/ge_low_mem.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/ge_operations.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/hash.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/kdf.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/integer.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/logging.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/md5.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/memory.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/pkcs12.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/pkcs7.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/poly1305.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/pwdbased.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/rc2.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sakke.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/signature.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/srp.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_arm32.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_arm64.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_armthumb.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_c32.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_c64.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_cortexm.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_dsp32.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_int.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/sp_x86_64.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/tfm.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/wc_dsp.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/wc_encrypt.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/wc_pkcs11.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/wc_port.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/wolfevent.c
|
|
|
+CSRCS += $(WOLFSSL_UNPACKNAME)/wolfcrypt/src/wolfmath.c
|
|
|
+
|
|
|
+
|
|
|
+CFLAGS += -DWOLFSSL_USER_SETTINGS
|
|
|
+
|
|
|
+
|
|
|
+ifneq ($(CONFIG_WOLFCRYPT_APPS),)
|
|
|
+
|
|
|
+MODULE = $(CONFIG_WOLFSSL_APPS)
|
|
|
+
|
|
|
+ifeq ($(CONFIG_WOLFCRYPT_APP_BENCHMARK),y)
|
|
|
+
|
|
|
+PROGNAME += $(CONFIG_WOLFCRYPT_APP_BENCHMARK_PROGNAME)
|
|
|
+PRIORITY += $(CONFIG_WOLFCRYPT_APP_BENCHMARK_PRIORITY)
|
|
|
+STACKSIZE += $(CONFIG_WOLFCRYPT_APP_BENCHMARK_STACKSIZE)
|
|
|
+
|
|
|
+CFLAGS += -I$(WOLFSSL_UNPACKNAME)
|
|
|
+CFLAGS += -I$(WOLFSSL_UNPACKNAME)/../ # To reach user_settings.h
|
|
|
+MAINSRC += $(WOLFSSL_UNPACKNAME)/wolfcrypt/benchmark/benchmark.c
|
|
|
+
|
|
|
+endif
|
|
|
+
|
|
|
+ifeq ($(CONFIG_WOLFCRYPT_APP_SELFTEST),y)
|
|
|
+
|
|
|
+PROGNAME += $(CONFIG_WOLFCRYPT_APP_SELFTEST_PROGNAME)
|
|
|
+PRIORITY += $(CONFIG_WOLFCRYPT_APP_SELFTEST_PRIORITY)
|
|
|
+STACKSIZE += $(CONFIG_WOLFCRYPT_APP_SELFTEST_STACKSIZE)
|
|
|
+
|
|
|
+CFLAGS += -I$(WOLFSSL_UNPACKNAME)
|
|
|
+CFLAGS += -I$(WOLFSSL_UNPACKNAME)/../ # To reach user_settings.h
|
|
|
+MAINSRC += $(WOLFSSL_UNPACKNAME)/wolfcrypt/test/test.c
|
|
|
+
|
|
|
+endif
|
|
|
+
|
|
|
+ifeq ($(CONFIG_WOLFSSL_APP_CLIENT_SERVER),y)
|
|
|
+
|
|
|
+PROGNAME += $(CONFIG_WOLFSSL_APP_CLIENT_SERVER_PROGNAME)
|
|
|
+PRIORITY += $(CONFIG_WOLFSSL_APP_CLIENT_SERVER_PRIORITY)
|
|
|
+STACKSIZE += $(CONFIG_WOLFSSL_APP_CLIENT_SERVER_STACKSIZE)
|
|
|
+
|
|
|
+CFLAGS += -I$(WOLFSSL_UNPACKNAME)
|
|
|
+CFLAGS += -I$(WOLFSSL_UNPACKNAME)/../ # To reach user_settings.h
|
|
|
+MAINSRC += $(WOLFSSL_EXAMPLESNAME)/embedded/tls-client-server.c
|
|
|
+
|
|
|
+endif
|
|
|
+
|
|
|
+endif
|
|
|
+
|
|
|
+$(WOLFSSL_ZIP):
|
|
|
+ @echo "Downloading: $(WOLFSSL_ZIP)"
|
|
|
+ $(Q) curl -O -L $(CONFIG_WOLFSSL_URL)/$(WOLFSSL_ZIP)
|
|
|
+
|
|
|
+$(WOLFSSL_UNPACKNAME): $(WOLFSSL_ZIP)
|
|
|
+ @echo "Unpacking: $(WOLFSSL_ZIP) -> $(WOLFSSL_UNPACKNAME)"
|
|
|
+ $(Q) $(UNPACK) $(WOLFSSL_ZIP)
|
|
|
+ $(Q) mv wolfssl-$(WOLFSSL_VERSION) $(WOLFSSL_UNPACKNAME)
|
|
|
+ $(Q) touch $(WOLFSSL_UNPACKNAME)
|
|
|
+
|
|
|
+
|
|
|
+include $(APPDIR)/Application.mk
|