SGX_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))) RUNTIME_DIR = $(SGX_DIR)/../../../../Runtime LIBPAL = $(RUNTIME_DIR)/libpal-Linux-SGX.so SGX_SIGNER_KEY ?= $(SGX_DIR)/signer/enclave-key.pem SGX_SIGN = $(SGX_DIR)/signer/pal-sgx-sign -libpal $(LIBPAL) -key $(SGX_SIGNER_KEY) SGX_GET_TOKEN = $(SGX_DIR)/signer/pal-sgx-get-token ifeq ($(SGX_RUN),1) expand_target = $(foreach t,$(filter-out manifest,$(1)),$(patsubst %.manifest,%,$(t)).token) %.token: %.sig $(call cmd,sgx_get_token) else expand_target = $(1) $(foreach t,$(filter-out manifest,$(1)), \ $(patsubst %.manifest,%,$(t)).manifest.sgx) $(SGX_SIGNER_KEY): $(error "Cannot find any enclave key. Generate $(abspath $(SGX_SIGNER_KEY)) or specify 'SGX_SIGNER_KEY=' with make") %.sig %.manifest.sgx: %.manifest % $(LIBPAL) $(SGX_SIGNER_KEY) %.manifest.sgx.d $(call cmd,sgx_sign_manifest) %.sig %.manifest.sgx: manifest % $(LIBPAL) $(SGX_SIGNER_KEY) %.manifest.sgx.d $(call cmd,sgx_sign_manifest) %.sig %.manifest.sgx: %.manifest $(LIBPAL) $(SGX_SIGNER_KEY) %.manifest.sgx.d $(call cmd,sgx_sign) .PRECIOUS: %.manifest.sgx.d %.manifest.sgx.d: %.manifest $(call cmd,sgx_manifest_dependency) %.manifest.sgx.d: manifest $(call cmd,sgx_manifest_dependency) *.token nothing: endif