File: Makefile

package info (click to toggle)
wolfssl 5.8.4-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 117,604 kB
  • sloc: ansic: 1,584,954; asm: 481,206; sh: 11,586; cs: 6,596; xml: 3,878; perl: 3,291; makefile: 2,058; ada: 1,891; javascript: 748; python: 636; cpp: 131; ruby: 118; objc: 80; tcl: 73
file content (82 lines) | stat: -rw-r--r-- 2,062 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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