@@ -17,33 +17,47 @@ LDFLAGS =
1717OBJDIR = ./
1818LIBS =
1919
20- ifeq ($(SIGN ) ,LMS)
20+ # Common to wc_lms and ext_lms.
21+ ifneq (,$(filter $(SIGN ) , LMS ext_LMS) )
22+ CFLAGS +=-DWOLFBOOT_SIGN_LMS -DWOLFSSL_HAVE_LMS \
23+ -D"LMS_LEVELS=$(LMS_LEVELS ) " -D"LMS_HEIGHT=$(LMS_HEIGHT ) " \
24+ -D"LMS_WINTERNITZ=$(LMS_WINTERNITZ ) "
25+ endif
26+
27+ # Specific to ext_lms.
28+ ifeq ($(SIGN ) ,ext_LMS)
2129 LMSDIR = $(WOLFBOOTDIR ) /lib/hash-sigs
2230 LIBS += $(LMSDIR ) /lib/hss_lib.a
23- CFLAGS +=-DWOLFBOOT_SIGN_LMS -DWOLFSSL_HAVE_LMS -DHAVE_LIBLMS -I$(LMSDIR ) /src \
24- -D"LMS_LEVELS=$(LMS_LEVELS ) " -D"LMS_HEIGHT=$(LMS_HEIGHT ) " \
25- -D"LMS_WINTERNITZ=$(LMS_WINTERNITZ ) "
31+ CFLAGS +=-DHAVE_LIBLMS -I$(LMSDIR ) /src
2632endif
2733
28- ifeq ($(SIGN ) ,ext_XMSS)
34+ # Specific to wc_lms.
35+ ifeq ($(SIGN ) ,LMS)
36+ CFLAGS +=-DWOLFSSL_WC_LMS
37+ endif
38+
39+ # Common to wc_xmss and ext_xmss.
40+ ifneq (,$(filter $(SIGN ) , XMSS ext_XMSS) )
2941 $(info xmss params : $(XMSS_PARAMS ) )
42+ CFLAGS +=-DWOLFBOOT_SIGN_XMSS -DWOLFSSL_HAVE_XMSS \
43+ -D"IMAGE_SIGNATURE_SIZE"=$(IMAGE_SIGNATURE_SIZE ) \
44+ -DWOLFBOOT_XMSS_PARAMS=\"$(XMSS_PARAMS ) \"
45+ endif
46+
47+ # Specific to ext_xmss.
48+ ifeq ($(SIGN ) ,ext_XMSS)
3049 XMSSDIR = $(WOLFBOOTDIR ) /lib/xmss
31- CFLAGS +=-DWOLFBOOT_SIGN_XMSS -DWOLFSSL_HAVE_XMSS -DHAVE_LIBXMSS -I$(XMSSDIR ) \
32- -D"IMAGE_SIGNATURE_SIZE"=$(IMAGE_SIGNATURE_SIZE ) \
33- -DWOLFBOOT_XMSS_PARAMS=\"$(XMSS_PARAMS ) \"
50+ CFLAGS +=-DHAVE_LIBXMSS -I$(XMSSDIR )
3451endif
3552
53+ # Specific to wc_xmss.
3654ifeq ($(SIGN ) ,XMSS)
37- $(info xmss params : $(XMSS_PARAMS ) )
38- CFLAGS +=-DWOLFBOOT_SIGN_XMSS -DWOLFSSL_HAVE_XMSS -D"WOLFSSL_WC_XMSS" \
39- -D"WOLFSSL_XMSS_MAX_HEIGHT=32" \
40- -D"IMAGE_SIGNATURE_SIZE"=$(IMAGE_SIGNATURE_SIZE ) \
41- -DWOLFBOOT_XMSS_PARAMS=\"$(XMSS_PARAMS ) \"
55+ CFLAGS +=-D"WOLFSSL_WC_XMSS" -D"WOLFSSL_XMSS_MAX_HEIGHT=32"
4256endif
4357
4458# Only needed if using 3rd party integration. This can be
45- # removed when wc_lms and wc_xmss become default in wolfboot .
46- ifneq (,$(filter $(SIGN ) , LMS ext_XMSS) )
59+ # removed if ext_lms and ext_xmss are deprecated .
60+ ifneq (,$(filter $(SIGN ) , ext_LMS ext_XMSS) )
4761 CFLAGS +=-DWOLFSSL_EXPERIMENTAL_SETTINGS
4862endif
4963
@@ -96,18 +110,31 @@ OBJS_REAL=\
96110 $(WOLFDIR ) /wolfcrypt/src/sha512.o \
97111 $(WOLFDIR ) /wolfcrypt/src/tfm.o \
98112 $(WOLFDIR ) /wolfcrypt/src/wc_port.o \
99- $(WOLFDIR ) /wolfcrypt/src/wolfmath.o \
100- $(WOLFDIR ) /wolfcrypt/src/ext_lms.o
113+ $(WOLFDIR ) /wolfcrypt/src/wolfmath.o
101114
102115OBJS_REAL+ =\
103116 $(WOLFBOOTDIR ) /src/delta.o
104117
118+ # Add wolfcrypt lms implementation.
119+ ifeq ($(SIGN ) ,LMS)
120+ OBJS_REAL+ =\
121+ $(WOLFDIR ) /wolfcrypt/src/wc_lms.o \
122+ $(WOLFDIR ) /wolfcrypt/src/wc_lms_impl.o
123+ endif
124+
125+ # Add external lms integration.
126+ ifeq ($(SIGN ) ,ext_LMS)
127+ OBJS_REAL+ = $(WOLFDIR ) /wolfcrypt/src/ext_lms.o
128+ endif
129+
130+ # Add wolfcrypt xmss implementation.
105131ifeq ($(SIGN ) ,XMSS)
106132OBJS_REAL+ =\
107133 $(WOLFDIR ) /wolfcrypt/src/wc_xmss.o \
108134 $(WOLFDIR ) /wolfcrypt/src/wc_xmss_impl.o
109135endif
110136
137+ # Add external xmss integration.
111138ifeq ($(SIGN ) ,ext_XMSS)
112139OBJS_REAL+ =\
113140 $(WOLFDIR ) /wolfcrypt/src/ext_xmss.o \
0 commit comments