#/**************************************************************************
# * 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				+= mbedtls/platform/mbed_hardware.c
C_SRC				+= mbedtls/platform/mbed_net.c
C_SRC				+= mbedtls/library/aes.c
C_SRC				+= mbedtls/library/aesni.c
C_SRC				+= mbedtls/library/arc4.c
C_SRC				+= mbedtls/library/asn1parse.c
C_SRC				+= mbedtls/library/asn1write.c
C_SRC				+= mbedtls/library/base64.c
C_SRC				+= mbedtls/library/bignum.c
C_SRC				+= mbedtls/library/blowfish.c
C_SRC				+= mbedtls/library/camellia.c
C_SRC				+= mbedtls/library/ccm.c
C_SRC				+= mbedtls/library/certs.c
C_SRC				+= mbedtls/library/cipher.c
C_SRC				+= mbedtls/library/cipher_wrap.c
C_SRC				+= mbedtls/library/ctr_drbg.c
C_SRC				+= mbedtls/library/des.c
C_SRC				+= mbedtls/library/dhm.c
C_SRC				+= mbedtls/library/ecdh.c
C_SRC				+= mbedtls/library/ecdsa.c
C_SRC				+= mbedtls/library/ecjpake.c
C_SRC				+= mbedtls/library/ecp.c
C_SRC				+= mbedtls/library/ecp_curves.c
C_SRC				+= mbedtls/library/entropy.c
C_SRC				+= mbedtls/library/entropy_poll.c
C_SRC				+= mbedtls/library/error.c
C_SRC				+= mbedtls/library/gcm.c
C_SRC				+= mbedtls/library/havege.c
C_SRC				+= mbedtls/library/hmac_drbg.c
C_SRC				+= mbedtls/library/md.c
C_SRC				+= mbedtls/library/md_wrap.c
C_SRC				+= mbedtls/library/md2.c
C_SRC				+= mbedtls/library/md4.c
C_SRC				+= mbedtls/library/md5.c
C_SRC				+= mbedtls/library/memory_buffer_alloc.c
C_SRC				+= mbedtls/library/oid.c
C_SRC				+= mbedtls/library/padlock.c
C_SRC				+= mbedtls/library/pem.c
C_SRC				+= mbedtls/library/pk.c
C_SRC				+= mbedtls/library/pk_wrap.c
C_SRC				+= mbedtls/library/pkcs11.c
C_SRC				+= mbedtls/library/pkcs12.c
C_SRC				+= mbedtls/library/pkcs5.c
C_SRC				+= mbedtls/library/pkparse.c
C_SRC				+= mbedtls/library/pkwrite.c
C_SRC				+= mbedtls/library/platform.c
C_SRC				+= mbedtls/library/ripemd160.c
C_SRC				+= mbedtls/library/rsa.c
C_SRC				+= mbedtls/library/sha1.c
C_SRC				+= mbedtls/library/sha256.c
C_SRC				+= mbedtls/library/sha512.c
C_SRC				+= mbedtls/library/ssl_cache.c
C_SRC				+= mbedtls/library/ssl_ciphersuites.c
C_SRC				+= mbedtls/library/ssl_cli.c
C_SRC				+= mbedtls/library/ssl_cookie.c
C_SRC				+= mbedtls/library/ssl_debug.c
C_SRC				+= mbedtls/library/ssl_net.c
C_SRC				+= mbedtls/library/ssl_srv.c
C_SRC				+= mbedtls/library/ssl_ticket.c
C_SRC				+= mbedtls/library/ssl_tls.c
C_SRC				+= mbedtls/library/threading.c
C_SRC				+= mbedtls/library/timing.c
C_SRC				+= mbedtls/library/version.c
C_SRC				+= mbedtls/library/version_features.c
C_SRC				+= mbedtls/library/x509.c
C_SRC				+= mbedtls/library/x509_create.c
C_SRC				+= mbedtls/library/x509_crl.c
C_SRC				+= mbedtls/library/x509_crt.c
C_SRC				+= mbedtls/library/x509_csr.c
C_SRC				+= mbedtls/library/x509write_crt.c
C_SRC				+= mbedtls/library/x509write_csr.c
C_SRC				+= mbedtls/library/xtea.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)
	
