
######################################################################
#
#	$Id: Makefile,v 1.11.12.9 2016/04/20 20:44:29 cgordon Exp $
#
#    Makefile used to build SSL library.
#
######################################################################

# Root directory for netos.
BASEDIR=../..

$(shell mkdir -p ./lib)

# Include the parent makefile.
all: localall
		rm -f $(BASEDIR)/$(LIBDIR)/$(SSL_LIB)
		rm -f $(BASEDIR)/$(LIBDIR)/$(TLS_LIB)
		mkdir -p a_lib
		$(AR) -x ../openssl102e/$(LIBDIR)/ossl_libtls.a && mv *.o a_lib
		$(AR) -qc $(BASEDIR)/$(LIBDIR)/$(SSL_LIB) a_lib/*.o $(C_OBJ)
		$(AR) -qc $(BASEDIR)/$(LIBDIR)/$(TLS_LIB) $(OBJS)/wds_tls_stub.o


# Add stuff here for additional cleanup
localclean: clean_my_objs
	rm -f $(BASEDIR)/$(LIBDIR)/$(SSL_LIB) $(BASEDIR)/$(LIBDIR)/$(TLS_LIB)
	rm -f  -r ./a_lib
	rm -f $(OBJS)/*.o


component_clobber: clean_my_libs

-include $(BASEDIR)/Makefile.inc

# Location of object files.
OBJS = ./objs/$(PROCESSOR)/$(ENDIANDIR)/$(TOOLSET)

#
# The list of source directories.
#
SRCDIR=$(BASEDIR)/src/ssl


#
# The name and path of the library to be built.
#
ifeq ($(DEBUG), on)
LOCAL_LIB = ./lib/libdgssldbg.a
SSL_LIB = libssldbg.a
TLS_LIB = libtlsdbg.a
else
LOCAL_LIB = ./lib/libdgssl.a
SSL_LIB = libssl.a
TLS_LIB = libtls.a
endif

#
# Search path for source header files, specific to this library
#
# DIGI WDS PORT (start)
INCDIRS +=  -I./../../h -I./../../src/openssl102e/include -I./../../h/threadx -I./../../h/tcpip -I./../../src/bsp/customize
# DIGI WDS PORT (end)
INCDIRS += -I./../Allegro/src/Engine/Includes -I./../Allegro/src/RomPager/Includes
INCDIRS += -I./../Allegro/src/RomPager/PhraseDictionaries -I./../Allegro/src/RomMailer/Includes
INCDIRS += -I./../Allegro/src/RomPop/Includes -I./../Allegro/src/WebServer/Includes -I./../../h/usb_host
INCDIRS += -I./../../h/rphttpd

#
# List of C object files for this library.
#
# DIGI WDS PORT (start)
C_OBJ= 	$(OBJS)/tls_buffer.o\
	$(OBJS)/tls_connection.o\
	$(OBJS)/tls_api.o\
	$(OBJS)/https.o\
	$(OBJS)/random.o\
	$(OBJS)/CertHelper.o\
	$(OBJS)/tls_cert_db.o\
	$(OBJS)/wds_tls_setup.o\
	$(OBJS)/wds_tls_thread.o\
	$(OBJS)/wds_tls_stub.o


# Original:
#
# C_OBJ= $(OBJS)/tls_record.o\
#	$(OBJS)/tls_alert.o\
#	$(OBJS)/tls_buffer.o\
#	$(OBJS)/tls_change_cipher_spec.o\
#	$(OBJS)/tls_connection.o\
#	$(OBJS)/tls_handshake.o\
#	$(OBJS)/tls_cache.o\
#	$(OBJS)/tls_api.o\
#	$(OBJS)/https.o\
#	$(OBJS)/random.o\
#	$(OBJS)/CertHelper.o\
#	$(OBJS)/tls_cert_db.o
# DIGI WDS PORT (end)

#
# List of C++ object files.
#
CC_OBJ=

#
# List of assembly object files.
#
S_OBJ=

#
# Any extra compilier flags.
#
MY_CFLAGS =


#
# Any extra defines go here
#
# DIGI WDS PORT (start)
MY_DEFINES  = -DOPENSSL102E -DNETOS_WDS_TLS

# Keep these OPENSSL_ defines consistent with src/openssl102e/netos_configure:

MY_DEFINES += -DOPENSSL_IMPLEMENTS_strncasecmp -DOPENSSL_NO_ASM -DOPENSSL_NO_BF -DOPENSSL_NO_DGRAM
MY_DEFINES += -DOPENSSL_NO_DES -DOPENSSL_NO_EC -DOPENSSL_NO_ENGINE -DOPENSSL_NO_HW
MY_DEFINES += -DOPENSSL_NO_KRB5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_PERLASM -DOPENSSL_NO_SSL2
MY_DEFINES += -DOPENSSL_NO_STDIO -DOPENSSL_NO_SRP -DOPENSSL_SYS_NETOS -DOPENSSL_NO_WHIRLPOOL
MY_DEFINES += -DOPENSSL_THREADS
# DIGI WDS PORT (end)

-include $(BASEDIR)/Makefile.bld


