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

## Path to root directory of android ndk

TARGET_CA_NAME = tee_pthread_matrix_mult
TARGET_TA_NAME = d06bb1c6-8fe1-4b6e-a787-d118f9babd8e

SRC_TA := tee_pthread_matrix_mult_TA.c
SRC_CA := tee_pthread_matrix_mult.c

CONFIG_CFLAGS_SW += -ggdb -std=gnu99 -lpthread

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

TA := $(OBJ_DIR)/unsigned_TA
STRIPED_TA := $(TA).striped
SIGNED_TA := $(OBJ_DIR)/$(TARGET_TA_NAME)
CA := $(OBJ_DIR)/$(TARGET_CA_NAME)

.PHONY: all
all: build_done

.PHONY: build_done
build_done: 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:
	@echo 'Clean Done.'
	@$(RM) $(DIST_DIR)

.PHONY: make_dist
make_dist:
	@$(MKDIR) $(OBJ_DIR)

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

$(SIGNED_TA): $(STRIPED_TA) $(test_TA_with_keys)
	@$(signing_command)

$(CA): 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)

$(STRIPED_TA): $(TA)
	@$(CONFIG_STRIP_SW) $(CONFIG_STRIP_FLAGS_SW) $< -o $@
