#/**************************************************************************
# * Kevin 2014-02-24                                                       *
# **************************************************************************/

#---------------------------------------------------------------------------
# Constant Variable definition
#---------------------------------------------------------------------------

ifeq ($(COMPILER_OS_CYGWIN),1)
TOPDIR=../../..
endif

include $(TOPDIR)/Tools/toolchain.def

#---------------------------------------------------------------------------
# Target definition (User)
#---------------------------------------------------------------------------
GOAL  = $(LIB_DIR)/libmbedtls.$(LIBTYPE)

#---------------------------------------------------------------------------
# Source section (User)
#---------------------------------------------------------------------------
ASM_SRC			+= 
C_SRC			+= library/aes.c
C_SRC			+= library/aesni.c
C_SRC			+= library/arc4.c
C_SRC			+= library/asn1parse.c
C_SRC			+= library/asn1write.c
C_SRC			+= library/base64.c
C_SRC			+= library/bignum.c
C_SRC			+= library/blowfish.c
C_SRC			+= library/camellia.c
C_SRC			+= library/ccm.c
C_SRC			+= library/certs.c
C_SRC			+= library/cipher.c
C_SRC			+= library/cipher_wrap.c
C_SRC			+= library/cmac.c
C_SRC			+= library/ctr_drbg.c
C_SRC			+= library/debug.c
C_SRC			+= library/des.c
C_SRC			+= library/dhm.c
C_SRC			+= library/ecdh.c
C_SRC			+= library/ecdsa.c
C_SRC			+= library/ecjpake.c
C_SRC			+= library/ecp.c
C_SRC			+= library/ecp_curves.c
C_SRC			+= library/entropy.c
C_SRC			+= library/entropy_poll.c
C_SRC			+= library/error.c
C_SRC			+= library/gcm.c
C_SRC			+= library/havege.c
C_SRC			+= library/hmac_drbg.c
C_SRC			+= library/md.c
C_SRC			+= library/md2.c
C_SRC			+= library/md4.c
C_SRC			+= library/md5.c
C_SRC			+= library/md_wrap.c
C_SRC			+= library/memory_buffer_alloc.c
C_SRC			+= library/net_sockets.c
C_SRC			+= library/oid.c
C_SRC			+= library/padlock.c
C_SRC			+= library/pem.c
C_SRC			+= library/pk.c
C_SRC			+= library/pkcs11.c
C_SRC			+= library/pkcs12.c
C_SRC			+= library/pkcs5.c
C_SRC			+= library/pkparse.c
C_SRC			+= library/pkwrite.c
C_SRC			+= library/pk_wrap.c
C_SRC			+= library/platform.c
C_SRC			+= library/ripemd160.c
C_SRC			+= library/rsa.c
C_SRC			+= library/rsa_internal.c
C_SRC			+= library/sha1.c
C_SRC			+= library/sha256.c
C_SRC			+= library/sha512.c
C_SRC			+= library/ssl_cache.c
C_SRC			+= library/ssl_ciphersuites.c
C_SRC			+= library/ssl_cli.c
C_SRC			+= library/ssl_cookie.c
C_SRC			+= library/ssl_srv.c
C_SRC			+= library/ssl_ticket.c
C_SRC			+= library/ssl_tls.c
C_SRC			+= library/threading.c
C_SRC			+= library/timing.c
C_SRC			+= library/version.c
C_SRC			+= library/version_features.c
C_SRC			+= library/x509.c
C_SRC			+= library/x509write_crt.c
C_SRC			+= library/x509write_csr.c
C_SRC			+= library/x509_create.c
C_SRC			+= library/x509_crl.c
C_SRC			+= library/x509_crt.c
C_SRC			+= library/x509_csr.c
C_SRC			+= library/xtea.c
C_SRC			+= ports/aes_alt.c
C_SRC			+= ports/arc4_alt.c
C_SRC			+= ports/des_alt.c
C_SRC			+= ports/md5_alt.c
C_SRC			+= ports/sha1_alt.c
C_SRC			+= ports/timing_alt.c
C_SRC			+= ports/hardware_alt.c
C_SRC			+= ports/net_alt.c
#---------------------------------------------------------------------------
# Implicit rules
#---------------------------------------------------------------------------
.c.o:
	$(CC) $(CFLAGS) -c -o $*.o $< $(INCLUDES)

.s.o:
	$(ASM) $(ASMFLAGS) -c -o $*.o $< $(INCLUDES)

#---------------------------------------------------------------------------
# Explicit ruls
#---------------------------------------------------------------------------
OBJ_FILES	= $(C_SRC:%.c=%.o) $(ASM_SRC:%.s=%.o)

all: $(GOAL)

$(GOAL): $(OBJ_FILES)
	$(AR) $(ARFLAGS) $@ $(OBJ_FILES)
	
.PHONY: clean
clean:
	$(RM) -f $(GOAL)
	$(RM) -f $(OBJ_FILES:.o=.d) $(OBJ_FILES)
	
