Ai-Thinker-Open_RTL8710BX_A.../Living_SDK/security/alicrypto/libalicrypto/Makefile
2020-06-18 22:04:32 +08:00

83 lines
2.1 KiB
Makefile

#
# Copyright (C) 2017 The YunOS Project. All rights reserved.
#
TOP := ../
#TOOLCHAIN_PRE := arm-none-eabi-
#TOOLCHAIN_PRE := arm-linux-gnueabihf-
TOOLCHAIN_PRE :=
CC = $(TOOLCHAIN_PRE)gcc
LD = $(TOOLCHAIN_PRE)ld
AR = $(TOOLCHAIN_PRE)ar
RANLIB = $(TOOLCHAIN_PRE)ranlib
LOCAL_DIR := .
CRYPT_TEST := N
CRYPT_TYPE := MBED
LIB := $(TOP)/mbedtls/library/libmbedcrypto.a
CFLAGS = -Wall -g -O2 -I$(LOCAL_DIR)/mbed/inc -I$(LOCAL_DIR)/sw \
-I$(LOCAL_DIR)/inc -I$(TOP)/mbedtls/include/mbedtls/ \
-I$(TOP)/../yunos_iot/aos/include
ifeq ($(m32),1)
CFLAGS += -m32
endif
CFLAGS += -Wformat
CFLAGS += -DCONFIG_CRYPT_MBED=1 -DCONFIG_DBG_CRYPT=1
#-DCONFIG_NO_ALIOS=1
ifeq ($(gcov),1)
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += --coverage
endif
ifeq ($(CRYPT_TYPE), MBED)
SRCS += \
$(LOCAL_DIR)/mbed/cipher/aes.c \
$(LOCAL_DIR)/mbed/hash/hash.c \
$(LOCAL_DIR)/mbed/asym/rsa.c \
$(LOCAL_DIR)/mbed/mac/hmac.c \
endif
ifeq ($(CRYPT_TEST), Y)
#TEST_SRCS += $(LOCAL_DIR)/mbed/test/mbed_rsa_test.c
TEST_SRCS += \
$(LOCAL_DIR)/test/ali_crypto_test.c \
$(LOCAL_DIR)/test/ali_crypto_test_comm.c \
$(LOCAL_DIR)/test/ali_crypto_test_hash.c \
$(LOCAL_DIR)/test/ali_crypto_test_rand.c \
$(LOCAL_DIR)/test/ali_crypto_test_aes.c \
$(LOCAL_DIR)/test/ali_crypto_test_rsa.c \
$(LOCAL_DIR)/test/ali_crypto_test_hmac.c \
CFLAGS += -I$(LOCAL_DIR)/test/inc
OUT_E := ali_crypto_test
endif
SRCS += $(LOCAL_DIR)/sw/ali_crypto_rand.c
CFLAGS += -I$(LOCAL_DIR)/sw/inc
SRCS += $(LOCAL_DIR)/ali_crypto.c
OBJS := $(patsubst %.cxx,%.o,$(patsubst %.c,%.o,$(SRCS)))
TEST_OBJS := $(patsubst %.cxx,%.o,$(patsubst %.c,%.o,$(TEST_SRCS)))
OUT := libalicrypto.a
all: $(OUT_E) $(OUT) $(OBJS) $(TEST_OBJS)
$(OUT): $(OBJS) $(LIB)
$(AR) rc $(OUT) $(OBJS)
$(RANLIB) $(OUT)
$(OUT_E): $(OBJS) $(TEST_OBJS) $(LIB)
$(CC) $(LDFLAGS) $(CFLAGS) $(LIB) $^ -o $@.elf
$(CC) $(LDFLAGS) $(CFLAGS) $(LIB) $^ -o $@
%.o: %.c
echo $(CC) $(CFLAGS) $<
$(CC) -c $(CFLAGS) $< -o $*.o
clean:
rm -f $(OBJS) $(OUT_E) $(OUT_E).elf $(OUT) $(TEST_OBJS)