## to execute single make use syntax "make -f Makefile.Single"
include ../../config.mk

.PHONY: all build_done clean make_dist copy_dist

TARGET_CA_NAME = tee_pthread_big_matrix_mult
TARGET_TA_NAME = 6e1ded57-9b32-4325-bde7-edb9acad7071

SRC_TA := tee_pthread_big_matrix_mult_TA.c
SRC_CA := tee_pthread_big_matrix_mult.c

CONFIG_CFLAGS_SW += -ggdb -std=gnu99 -lpthread

OBJ_DIR:= ./dist/obj
DIST_DIR := ./dist

TA := $(OBJ_DIR)/unsigned_TA
STRIPPED_TA := $(TA).stripped
SIGNED_TA := $(OBJ_DIR)/$(TARGET_TA_NAME)
CA := $(OBJ_DIR)/$(TARGET_CA_NAME)

all: build_done

build_done: copy_dist
	@echo 'Build Done.'

clean:
	@$(RM) $(DIST_DIR)
	@echo 'Clean Done.'

make_dist:
	@$(MKDIR) $(OBJ_DIR)

copy_dist: $(SIGNED_TA) $(CA)
	@$(CP) -t $(DIST_DIR) $^

$(SIGNED_TA): $(STRIPPED_TA) $(test_TA_with_keys)
	@echo 'Signing TA $(TARGET_TA_NAME)'
	@$(signing_command)

$(CA): $(SRC_CA) | make_dist
	@echo 'Building CA: $(TARGET_CA_NAME)'
	@$(CONFIG_CC_NW) $(CONFIG_CFLAGS_NW) -o $@ $(SRC_CA)

$(TA): $(SRC_TA) | make_dist
	@echo 'Building TA: $(TARGET_TA_NAME)'
	@$(CONFIG_CC_SW) $(CONFIG_CFLAGS_SW) -o $@ $(SRC_TA)

$(STRIPPED_TA): $(TA)
	@echo 'Stripping TA $(TARGET_TA_NAME)'
	@$(CONFIG_STRIP_SW) $(CONFIG_STRIP_FLAGS_SW) $< -o $@
