12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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
|