# Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
#
# PROPRIETARY/CONFIDENTIAL
#
# This software is the confidential and proprietary information of Samsung
# Electronics Co., Ltd. ("Confidential Information"). You shall not disclose such
# Confidential Information and shall use it only in accordance with the terms of
# the license agreement you entered into with Samsung Electronics Co., Ltd. ("SAMSUNG")
# SAMSUNG MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE
# SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT
# NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SAMSUNG SHALL NOT BE
# LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
# MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.

include ../../build/teegris_config.mk

TARGET_TA_NAME = 00000000-0000-0000-0000-44534d536463

INC_TA := include
SRC_TA := src/dsms_ta.c

CONFIG_CFLAGS_SW += -ggdb -std=gnu99

OBJ_DIR := ./obj

TA := $(OBJ_DIR)/unsigned_DSMS_TA
SIGNED_TA := $(OBJ_DIR)/$(TARGET_TA_NAME)

ifeq ($(TEEGRIS_VERSION),4)
CONFIG_CFLAGS_SW += -DTEEGRIS_V4
else
CONFIG_CFLAGS_SW += -DTEEGRIS_V3
endif

ifeq ($(TARGET_BUILD_VARIANT), eng)
CONFIG_CFLAGS_SW += -DDEBUG
endif

.PHONY: all
all: make_dist $(SIGNED_TA) copy_dist build_done

.PHONY: build_done
build_done: make_dist $(SIGNED_TA) copy_dist
	@echo 'Build done.'

.PHONY: info_ta
info_ta:
	@echo 'Building DSMS TA: $(TARGET_TA_NAME)'

.PHONY: clean
clean:
	$(RM) $(OBJ_DIR)
	@echo 'Clean done.'

.PHONY: make_dist
make_dist:
	$(MKDIR) $(OBJ_DIR)

.PHONY: copy_dist
copy_dist: make_dist $(SIGNED_TA)
	@echo 'Copying DSMS TA ($(SIGNED_TA)) to $(TEEGRIS_TA_DIST_PATH)'
	$(CP) $(SIGNED_TA) $(TEEGRIS_TA_DIST_PATH)

$(SIGNED_TA): $(TA) make_dist $(test_TA_with_keys)
	$(signing_command)

$(TA): info_ta $(SRC_TA) make_dist
	$(CONFIG_CC_SW) $(CONFIG_CFLAGS_SW) $(CONFIG_LFLAGS_SW) -I $(INC_TA) \
		-o $@ $(SRC_TA) -lscrypto
