include ../config.mk

TARGET_CA_NAME = scrypto_client
TARGET_TA_NAME = 666d392c-87ae-4307-9cdb-6d5dc9d6eb70

SRC_TA := test_TA_scrypto.c
SRC_CA := scrypto_client.c

CONFIG_CFLAGS_SW += -ggdb -std=gnu99 

OBJ_DIR:= ./dist/obj
DIST_DIR := ./dist

TA := $(OBJ_DIR)/unsigned_TA
SIGNED_TA := $(OBJ_DIR)/$(TARGET_TA_NAME)
ELF := $(OBJ_DIR)/$(TARGET_CA_NAME)

.PHONY: all
all: make_dist $(SIGNED_TA) $(ELF) copy_dist build_done

.PHONY: build_done
build_done: make_dist $(SIGNED_TA) $(ELF) copy_dist
	@echo 'Build Done.'

.PHONY: info_ta
info_ta:
	@echo 'Building TA: $(TARGET_TA_NAME)'

.PHONY: info_ca
info_ca:
	@echo 'Building CA: $(TARGET_CA_NAME)'

.PHONY: clean
clean:
	@$(RM) $(DIST_DIR)
	@echo 'Clean Done.'

.PHONY: make_dist
make_dist:
	@$(MKDIR) $(OBJ_DIR)

.PHONY: copy_dist
copy_dist: make_dist $(SIGNED_TA) $(ELF)
	@$(CP) $(SIGNED_TA) $(DIST_DIR)
	@$(CP) $(ELF) $(DIST_DIR)

$(SIGNED_TA): $(TA) make_dist $(test_TA_with_keys)
	@$(signing_command)

$(ELF): info_ca $(SRC_CA) make_dist
	@$(CONFIG_CC_NW) $(CONFIG_CFLAGS_NW) -o $@ $(SRC_CA)

$(TA): info_ta $(SRC_TA) make_dist
	@$(CONFIG_CC_SW) $(CONFIG_CFLAGS_SW) -o $@ $(SRC_TA) -lscrypto
