wolfssl-examples/pq/stateful_hash_sig/Makefile

55 lines
1.3 KiB
Makefile

# PQ Stateful Hash-Based Signature Examples Makefile
#
# XMSS_INC, XMSS_LIB, and WOLF_STATIC_LIB are only required if
# building with --with-libxmss.
#
CC = gcc
WOLFSSL_INSTALL_DIR = /usr/local
HSS_INC =
XMSS_INC =
CFLAGS = -Wall -I$(WOLFSSL_INSTALL_DIR)/include
LIBS = -L$(WOLFSSL_INSTALL_DIR)/lib -lm
# option variables
WOLF_DYN_LIB = -lwolfssl
WOLF_STATIC_LIB = $(WOLFSSL_INSTALL_DIR)/lib/libwolfssl.a
HSS_LIB =
XMSS_LIB =
DEBUG_FLAGS = -g -DDEBUG
DEBUG_INC_PATHS = -MD
OPTIMIZE = -Os
# Options
#CFLAGS+=$(DEBUG_FLAGS)
#CFLAGS+=$(OPTIMIZE)
# build targets
SRC=$(wildcard *.c)
TARGETS=$(patsubst %.c, %, $(SRC))
.PHONY: clean all
all: $(TARGETS)
debug: CFLAGS+=$(DEBUG_FLAGS)
debug: all
# build template
lms_example: lms_example.c
$(CC) -o $@ $< $(CFLAGS) -I$(HSS_INC) $(LIBS) $(WOLF_STATIC_LIB) $(HSS_LIB)
xmss_example: xmss_example.c
# If building with --enable-xmss=wolfssl:
$(CC) -o $@ $< $(CFLAGS) -I$(XMSS_INC) $(LIBS) $(WOLF_STATIC_LIB) $(XMSS_LIB)
# If building with --enable-xmss --with-libxmss=<path>:
# $(CC) -o $@ $< $(CFLAGS) $(LIBS) $(WOLF_DYN_LIB)
xmss_example_verifyonly: xmss_example.c
$(CC) -o $@ $< $(CFLAGS) -I$(XMSS_INC) -DWOLFSSL_XMSS_VERIFY_ONLY $(LIBS) $(WOLF_STATIC_LIB) $(XMSS_LIB)
clean:
rm -f $(TARGETS)
rm -f xmss_example_verifyonly
rm -f lms_example.key
rm -f xmss_example.key