-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
92 lines (77 loc) · 2.04 KB
/
Makefile
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
83
84
85
86
87
88
89
90
91
92
CC = gcc
SRCS_GET = fips.c
SRCS_SET = fips_set.c
SRCS_TRACE = trace.c
SRCS_PRINTV = printv.c
SRCS_EC_BUILTIN_CURVES = ec_builtin_curves.c
OBJS_GET = $(SRCS_GET:.c=.o)
OBJS_SET = $(SRCS_SET:.c=.o)
OBJS_TRACE = $(SRCS_TRACE:.c=.o)
OBJS_PRINTV = $(SRCS_PRINTV:.c=.o)
OBJS_EC_BUILTIN_CURVES = $(SRCS_EC_BUILTIN_CURVES:.c=.o)
# Customize the OpenSSL to compile with.
OPENSSL_DIR =
# Latest master branch
# OPENSSL_DIR = /home/jaruga/.local/openssl-3.2.0-dev-fips-debug-cf712830b7
# OPENSSL_DIR = /home/jaruga/.local/libressl-6650dce
OPENSSL_INC_DIR = $(OPENSSL_DIR)/include
OPENSSL_LIB_DIR = $(OPENSSL_DIR)/lib
CFLAGS = -I $(OPENSSL_INC_DIR) -L $(OPENSSL_LIB_DIR) $(OPTFLAGS) $(DEBUGFLAGS)
OPTFLAGS = -O0
DEBUGFLAGS = -g3 -ggdb3 -gdwarf-5
LDFLAGS = -L $(OPENSSL_LIB_DIR)
EXE = fips
EXE_SET = fips_set
EXE_TRACE = trace
EXE_PRINTV = printv
EXE_EC_BUILTIN_CURVES = ec_builtin_curves
# For OpenSSL
EXE_ALL = $(EXE) $(EXE_SET) $(EXE_TRACE) $(EXE_PRINTV) $(EXE_EC_BUILTIN_CURVES)
# For LibreSSL
# EXE_ALL = $(EXE_PRINTV)
LIBS = -lssl -lcrypto
.c.o :
$(CC) -c $(CFLAGS) $< -o $@
.PHONY: all
all : $(EXE_ALL)
$(EXE) : $(OBJS_GET)
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
$(EXE_SET) : $(OBJS_SET)
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
$(EXE_TRACE) : $(OBJS_TRACE)
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
$(EXE_PRINTV) : $(OBJS_PRINTV)
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
$(EXE_EC_BUILTIN_CURVES) : $(OBJS_EC_BUILTIN_CURVES)
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
.PHONY: clean
clean :
rm -f *.o $(EXE_ALL)
.PHONY: run-non-fips
run-non-fips :
OPENSSL_CONF_INCLUDE=$(OPENSSL_DIR)/ssl \
OPENSSL_MODULES=$(OPENSSL_LIB_DIR)/ossl-modules \
./fips
.PHONY: run-fips
run-fips :
OPENSSL_CONF=$(OPENSSL_DIR)/ssl/openssl_fips.cnf \
OPENSSL_CONF_INCLUDE=$(OPENSSL_DIR)/ssl \
OPENSSL_MODULES=$(OPENSSL_LIB_DIR)/ossl-modules \
./fips
.PHONY: test
test :
@echo "Testing..."
ldd ./$(EXE)
./$(EXE)
.PHONY: test-set
test-set :
@echo "Testing..."
./$(EXE_SET)
.PHONY: test-trace
test-trace :
@echo "Testing..."
./$(EXE_TRACE)
.PHONY: test-strace
strace-test :
@echo "Testing with strace..."
strace ./$(EXE)