wolfssl/IDE/iotsafe-raspberrypi/Makefile

83 lines
2.0 KiB
Makefile

CFLAGS := -g -ggdb -Wall -Wextra -std=c11
CINCS := -I. -I/usr/local/wolfssl
CLIBS := -L/usr/local/lib
CDEPS := -lc -lg -lm -lwolfssl
WOLFSSL_BUILD=build
MKDIR_P = mkdir -p
ENABLE_DEBUG_UART_IO := off
ENABLE_DEBUG_UART_IO_EXTRA := off
ENABLE_SECRET_CALLBACK := off
ifeq ($(ENABLE_DEBUG_UART_IO), on)
CFLAGS+=-DDEBUG_UART_IO
endif
ifeq ($(ENABLE_DEBUG_UART_IO_EXTRA), on)
CFLAGS+=-DDEBUG_UART_IO -DDEBUG_UART_IO_EXTRA_VERBOSE
endif
ifeq ($(ENABLE_SECRET_CALLBACK), on)
CFLAGS+=-DUSE_SECRET_CALLBACK
endif
OBJS:=$(WOLFSSL_BUILD)/main.o $(WOLFSSL_BUILD)/client-tls13.o
default: all
.PHONY: all clean help
define run-help =
echo "Run 'make TARGET* OPTION*'"
echo ""
echo "TARGET (specify 0 or more):"
echo " all (default target)"
echo " Build main.bin executable"
echo " main.bin"
echo " Build main.bin executable"
echo " main.o"
echo " Build main.o"
echo " client-tls13.o"
echo " Build client-tls13.o"
echo " clean"
echo " Clean *.o and *.bin"
echo " help"
echo " This help"
echo ""
echo "OPTION (specify 0 or more):"
echo " ENABLE_DEBUG_UART_IO=on|off (default off)"
echo " Enable printing ASCII characters sent and received by the UART"
echo " ENABLE_DEBUG_UART_IO_EXTRA=on|off (default off)"
echo " Enable more printing hex characters sent and received by the UART"
echo " Setting this on implicitly sets ENABLE_DEBUG_UART_IO=on"
echo " ENABLE_SECRET_CALLBACK=on|off (default off)"
echo " Enable secret callback for TLS 1.3 handshaking, which can be useful for wireshark sniffing"
echo ""
echo "Example:"
echo " make all ENABLE_DEBUG_UART_IO_EXTRA=on"
echo ""
endef
help:
@$(run-help)
all: directories main.bin
directories: $(WOLFSSL_BUILD)
$(WOLFSSL_BUILD):
${MKDIR_P} $(WOLFSSL_BUILD)
main.bin: $(OBJS)
$(CC) $(CFLAGS) $(CINCS) $(CLIBS) -o $@ $^ $(CDEPS)
$(WOLFSSL_BUILD)/main.o: main.c
$(CC) $(CFLAGS) $(CINCS) $(CLIBS) -c -o $@ $^ $(CDEPS)
$(WOLFSSL_BUILD)/client-tls13.o: client-tls13.c
$(CC) $(CFLAGS) $(CINCS) $(CLIBS) -c -o $@ $^ $(CDEPS)
clean:
rm -f *.o *.bin
rm -rf build