Makefile.Test 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. SGX_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
  2. RUNTIME_DIR = $(SGX_DIR)/../../../../Runtime
  3. LIBPAL = $(RUNTIME_DIR)/libpal-Linux-SGX.so
  4. SGX_SIGNER_KEY ?= $(SGX_DIR)/signer/enclave-key.pem
  5. SGX_SIGN = $(SGX_DIR)/signer/pal-sgx-sign -libpal $(LIBPAL) -key $(SGX_SIGNER_KEY)
  6. SGX_GET_TOKEN = $(SGX_DIR)/signer/pal-sgx-get-token
  7. ifeq ($(SGX_RUN),1)
  8. expand_target = $(foreach t,$(filter-out manifest,$(1)),$(patsubst %.manifest,%,$(t)).token)
  9. %.token: %.sig
  10. $(call cmd,sgx_get_token)
  11. else
  12. expand_target = $(1) $(foreach t,$(filter-out manifest,$(1)), \
  13. $(patsubst %.manifest,%,$(t)).manifest.sgx)
  14. $(SGX_SIGNER_KEY):
  15. $(error "Cannot find any enclave key. Generate $(abspath $(SGX_SIGNER_KEY)) or specify 'SGX_SIGNER_KEY=' with make")
  16. %.sig %.manifest.sgx: %.manifest % $(LIBPAL) $(SGX_SIGNER_KEY) %.manifest.sgx.d
  17. $(call cmd,sgx_sign_manifest)
  18. %.sig %.manifest.sgx: manifest % $(LIBPAL) $(SGX_SIGNER_KEY) %.manifest.sgx.d
  19. $(call cmd,sgx_sign_manifest)
  20. %.sig %.manifest.sgx: %.manifest $(LIBPAL) $(SGX_SIGNER_KEY) %.manifest.sgx.d
  21. $(call cmd,sgx_sign)
  22. .PRECIOUS: %.manifest.sgx.d
  23. %.manifest.sgx.d: %.manifest
  24. $(call cmd,sgx_manifest_dependency)
  25. %.manifest.sgx.d: manifest
  26. $(call cmd,sgx_manifest_dependency)
  27. *.token nothing:
  28. endif