Files
mars-matrixssl/apps/ssl/Makefile
Janne Johansson 69b5f2c6c3 MatrixSSL 4.5.1
2022-07-29 12:30:12 +03:00

116 lines
2.8 KiB
Makefile

#
# Makefile for MatrixSSL example apps
# 'make' builds debug (Default).
# 'make gold' builds optimized.
#
# Copyright (c) 2013-2019 Rambus Inc. All Rights Reserved.
#
MATRIXSSL_ROOT:=../..
SERVER_SRC:=server.c http.c
CLIENT_SRC:=client.c http.c
NET_SRC:=net.c
SRC=$(SERVER_SRC) $(CLIENT_SRC)
SERVER_EXE:=server$(E)
CLIENT_EXE:=client$(E)
NET_EXE:=matrixnet$(E)
EXE=$(SERVER_EXE) $(CLIENT_EXE)
TLSDTLS_SERVER_SRC:=tlsDtlsServer.c http.c
TLSDTLS_SERVER_EXE:=tlsDtlsServer$(E)
SIMPLE_CLIENT_SRC:=simpleClient.c
SIMPLE_CLIENT_EXE:=simpleClient$(E)
SIMPLE_SERVER_SRC:=simpleServer.c
SIMPLE_SERVER_EXE:=simpleServer$(E)
IA_CLIENT_SRC:=interactiveClient.c interactiveCommon.c
IA_CLIENT_EXE:=interactiveClient$(E)
IA_SERVER_SRC:=interactiveServer.c interactiveCommon.c
IA_SERVER_EXE:=interactiveServer$(E)
SRC+=$(SIMPLE_CLIENT_SRC)
EXE+=$(SIMPLE_CLIENT_EXE)
SRC+=$(SIMPLE_SERVER_SRC)
EXE+=$(SIMPLE_SERVER_EXE)
SRC+=$(IA_CLIENT_SRC)
EXE+=$(IA_CLIENT_EXE)
SRC+=$(IA_SERVER_SRC)
EXE+=$(IA_SERVER_EXE)
SRC+=$(TLSDTLS_SERVER_SRC)
EXE+=$(TLSDTLS_SERVER_EXE)
#The Mac OS X Xcode project has a target name of 'server' or 'client'
ifneq (,$(TARGET_NAME))
ifneq (,$(findstring server,$(TARGET_NAME)))
CLIENT_EXE:=
CLIENT_SRC:=
else
SERVER_EXE:=
SERVER_SRC:=
endif
endif
# Optional extensions to CFLAGS/LDFLAGS
CFLAGS+=$(CFLAGS_INTERNAL)
LDFLAGS+=$(LDFLAGS_INTERNAL)
# Extra dependencies
MATRIXSSL_CONFIG:=$(shell make parse-config --directory $(MATRIXSSL_ROOT)/matrixssl)
include $(MATRIXSSL_ROOT)/common.mk
# Linked files
STATIC:=\
$(MATRIXSSL_ROOT)/matrixssl/libssl_s.a \
$(MATRIXSSL_ROOT)/crypto/libcrypt_s.a \
$(MATRIXSSL_ROOT)/core/libcore_s.a \
$(STATIC_INTERNAL)
#ifdef USE_ROT_CRYPTO
STATIC+=$(LIBDRIVER_VAL_UP_PATH)
#endif
STATIC_CLIENT:=\
$(MATRIXSSL_ROOT)/apps/common/client_common_s.a
# Allow selecting the client auth identity (ID_RSA, ID_ECDH_ECDSA,
# etc.) via an environment variable.
CIPHER_OPTION?=ID_RSA
ifneq '$(CIPHER_OPTION)' ''
CFLAGS+=-D$(CIPHER_OPTION)
endif
compile: $(OBJS) $(EXE)
# Additional Dependencies
$(OBJS): $(MATRIXSSL_ROOT)/common.mk Makefile $(wildcard *.h)
$(SERVER_EXE): $(SERVER_SRC:.c=.o) $(STATIC)
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
$(CLIENT_EXE): $(CLIENT_SRC:.c=.o) $(STATIC) $(STATIC_CLIENT)
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
$(SIMPLE_CLIENT_EXE): $(SIMPLE_CLIENT_SRC:.c=.o) $(STATIC)
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
$(IA_CLIENT_EXE): $(IA_CLIENT_SRC:.c=.o) $(STATIC)
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
$(SIMPLE_SERVER_EXE): $(SIMPLE_SERVER_SRC:.c=.o) $(STATIC)
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
$(IA_SERVER_EXE): $(IA_SERVER_SRC:.c=.o) $(STATIC)
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
$(NET_EXE): $(NET_SRC:.c=.o) $(STATIC)
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
$(TLSDTLS_SERVER_EXE): $(TLSDTLS_SERVER_SRC:.c=.o) $(STATIC)
$(CC) -o $@ $^ $(LDFLAGS) $(CFLAGS)
clean:
rm -f $(EXE) $(OBJS) TLS_*.tmp SSL_*.tmp