# # Copyright(c) 2011-2026 Intel Corporation # # SPDX-License-Identifier: BSD-3-Clause # include buildenv.mk .PHONY: all tips preparation psw sdk_no_mitigation sdk clean rebuild tdx servtd_attest servtd_attest_preparation ipp sdk_install_pkg_no_mitigation sdk_install_pkg sdk_install_pkg_from_source psw_install_pkg all: tips tips: @echo "Tips:" @echo " This \"make\" command will show tips only and make nothing." @echo " 1. If you want to build Intel(R) SGX SDK with default configuration, please take the following steps:" @echo " 1) ensure that you have installed required tools described in README.md in same directory" @echo " 2) enter the command: \"make sdk\"" @echo " 2. If you want to build Intel(R) SGX PSW with default configuration, please take the following steps:" @echo " 1) ensure that you have installed additional required tools decribed in README.md in same directory" @echo " 2) ensure that you have installed latest Intel(R) SGX SDK Installer which could be downloaded from: https://software.intel.com/en-us/sgx-sdk/download" and followed Installation Guide in the same page to finish installation. @echo " 3) enter the commmand: \"make psw\"" @echo " 3. If you want to build other targets, please also follow README.md in same directory" preparation: # As SDK build needs to clone and patch openmp, we cannot support the mode that download the source from github as zip. # Only enable the download from git git submodule update --init --recursive cd external/dcap_source/external/jwt-cpp && git apply ../0001-Add-a-macro-to-disable-time-support-in-jwt-for-SGX.patch >/dev/null 2>&1 || \ git apply ../0001-Add-a-macro-to-disable-time-support-in-jwt-for-SGX.patch -R --check cd external/dcap_source/external/wasm-micro-runtime && git apply ../0001-wasm-micro-runtime.patch >/dev/null 2>&1 || \ git apply ../0001-wasm-micro-runtime.patch -R --check ./external/dcap_source/QuoteVerification/prepare_sgxssl.sh nobuild cd external/openmp/openmp_code && git apply ../0001-Enable-OpenMP-in-SGX.patch >/dev/null 2>&1 || git apply ../0001-Enable-OpenMP-in-SGX.patch --check -R # TODO refactor to remove duplication with the ./external/protobuf/Makefile. # This Makefile should call ./external/protobuf/Makefile targets instead. # If you are adding a new patch over this one, write your patch's name to .sgx_patched @if ! grep -q "sgx_protobuf" external/protobuf/protobuf_code/.sgx_patched 2>/dev/null; then \ cd external/protobuf/protobuf_code && \ git apply ../sgx_protobuf.patch >/dev/null 2>&1 || git apply ../sgx_protobuf.patch --check -R && \ git submodule update --init --recursive; \ fi # If you are adding a new patch over this one, write your patch's name to .sgx_patched @if ! grep -q "sgx_abseil" external/protobuf/abseil-cpp/.sgx_patched 2>/dev/null; then \ cd external/protobuf/abseil-cpp && \ git apply ../sgx_abseil.patch >/dev/null 2>&1 || git apply ../sgx_abseil.patch --check -R; \ fi ./external/sgx-emm/create_symlink.sh cd external/cbor && cp -r libcbor sgx_libcbor cd external/cbor/libcbor && git apply ../raw_cbor.patch >/dev/null 2>&1 || git apply ../raw_cbor.patch --check -R cd external/cbor/sgx_libcbor && git apply ../sgx_cbor.patch >/dev/null 2>&1 || git apply ../sgx_cbor.patch --check -R cd external/ippcp_internal/ipp-crypto && git apply ../0001-IPP-crypto-for-SGX.patch > /dev/null 2>&1 || git apply ../0001-IPP-crypto-for-SGX.patch --check -R cd external/ippcp_internal/ipp-crypto && mkdir -p build ./download_prebuilt.sh ./external/dcap_source/QuoteGeneration/download_prebuilt.sh cd external/libcxxrt/libcxxrt_code && git apply ../sgx_libcxxrt.patch >/dev/null 2>&1 || git apply ../sgx_libcxxrt.patch --check -R psw: $(MAKE) -C psw/ USE_OPT_LIBS=$(USE_OPT_LIBS) sdk_no_mitigation: $(MAKE) -C sdk/ USE_OPT_LIBS=$(USE_OPT_LIBS) sdk: $(MAKE) -C sdk/ clean $(MAKE) -C sdk/ MODE=$(MODE) MITIGATION-CVE-2020-0551=LOAD $(MAKE) -C sdk/ clean $(MAKE) -C sdk/ MODE=$(MODE) MITIGATION-CVE-2020-0551=CF $(MAKE) -C sdk/ clean $(MAKE) -C sdk/ MODE=$(MODE) tdx: $(MAKE) -C external/dcap_source/QuoteGeneration pce_logic $(MAKE) -C external/dcap_source/QuoteGeneration tdx_logic $(MAKE) -C external/dcap_source/QuoteGeneration tdx_qgs $(MAKE) -C external/dcap_source/QuoteGeneration tdx_attest servtd_attest: @test -L common/inc/sgx_mm.h && test -d external/dcap_source/QuoteVerification/sgxssl \ && test -f external/libcxxrt/libcxxrt_code/src/sgx_disable_print.h || \ { echo "Error: Please run 'make servtd_attest_preparation' first"; exit 1; } $(MAKE) -C sdk/ servtd_attest SERVTD_ATTEST=1 $(MAKE) -C external/dcap_source/QuoteGeneration servtd_attest servtd_attest_preparation: # Only enable the download from git git submodule update --init --recursive external/dcap_source external/sgx-emm/emm_src external/libcxxrt/libcxxrt_code ./external/sgx-emm/create_symlink.sh ./external/dcap_source/QuoteVerification/prepare_sgxssl.sh nobuild cd external/libcxxrt/libcxxrt_code && (git apply ../sgx_libcxxrt.patch >/dev/null 2>&1 || git apply ../sgx_libcxxrt.patch --check -R) ipp: $(MAKE) -C external/ippcp_internal/ clean $(MAKE) -C external/ippcp_internal/ MITIGATION-CVE-2020-0551=LOAD $(MAKE) -C external/ippcp_internal/ clean $(MAKE) -C external/ippcp_internal/ MITIGATION-CVE-2020-0551=CF $(MAKE) -C external/ippcp_internal/ clean $(MAKE) -C external/ippcp_internal/ # Generate SE SDK Install package sdk_install_pkg_no_mitigation: sdk_no_mitigation ./linux/installer/bin/build-installpkg.sh sdk sdk_install_pkg: sdk ./linux/installer/bin/build-installpkg.sh sdk cve-2020-0551 sdk_install_pkg_from_source: $(MAKE) ipp $(MAKE) sdk ./linux/installer/bin/build-installpkg.sh sdk cve-2020-0551 psw_install_pkg: psw ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qe3.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_id_enclave.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(CP) external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qe3.signed.so $(BUILD_DIR) $(CP) external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_id_enclave.signed.so $(BUILD_DIR) ./linux/installer/bin/build-installpkg.sh psw .PHONY: deb_libsgx_ae_qe3 deb_libsgx_ae_qe3: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qe3.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ae_qe3_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qe3/libsgx-ae-qe3*.deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_libsgx_ae_id_enclave deb_libsgx_ae_id_enclave: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_id_enclave.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ae_id_enclave_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-id-enclave/libsgx-ae-id-enclave*.deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_libsgx_ae_tdqe deb_libsgx_tdx_logic deb_tdx_qgs deb_tdx_attest ifeq ($(DISTR_ID)$(DISTR_VER),ubuntu18.04) deb_libsgx_ae_tdqe: echo "Skip tdqe in ubuntu 18.04" deb_libsgx_tdx_logic: echo "Skip tdx_logic in ubuntu 18.04" deb_tdx_qgs: echo "Skip tdx_qgs in ubuntu 18.04" deb_tdx_attest: echo "Skip tdx_attest in ubuntu 18.04" else deb_libsgx_ae_tdqe: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_tdqe.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ae_tdqe_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-tdqe/libsgx-ae-tdqe*.deb ./linux/installer/deb/sgx-aesm-service/ deb_libsgx_tdx_logic: $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_tdx_logic_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-tdx-logic/libsgx-tdx-logic*deb ./linux/installer/deb/sgx-aesm-service/ deb_tdx_qgs: $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_tdx_qgs_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/tdx-qgs/tdx-qgs*deb ./linux/installer/deb/sgx-aesm-service/ deb_tdx_attest: $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_tdx_attest_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libtdx-attest/libtdx-attest*deb ./linux/installer/deb/sgx-aesm-service/ endif .PHONY: deb_libsgx_qe3_logic deb_libsgx_qe3_logic: psw $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_qe3_logic_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-qe3-logic/libsgx-qe3-logic*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_libsgx_pce_logic deb_libsgx_pce_logic: psw $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_pce_logic_pkg $(CP) external/dcap_source/QuoteGeneration/build/linux/libsgx_pce_logic.so* $(BUILD_DIR) $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-pce-logic/libsgx-pce-logic*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_sgx_aesm_service deb_sgx_aesm_service: psw deb_libsgx_pce_logic ./linux/installer/deb/sgx-aesm-service/build.sh .PHONY: deb_libsgx_quote_ex deb_libsgx_quote_ex: psw ./linux/installer/deb/libsgx-quote-ex/build.sh .PHONY: deb_libsgx_uae_service deb_libsgx_uae_service: psw ./linux/installer/deb/libsgx-uae-service/build.sh .PHONY: deb_libsgx_enclave_common deb_libsgx_enclave_common: psw ./linux/installer/deb/libsgx-enclave-common/build.sh .PHONY: deb_libsgx_urts deb_libsgx_urts: psw ./linux/installer/deb/libsgx-urts/build.sh .PHONY: deb_libsgx_headers_pkg deb_libsgx_headers_pkg: ./linux/installer/deb/libsgx-headers/build.sh .PHONY: deb_libsgx_dcap_default_qpl deb_libsgx_dcap_default_qpl: $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_dcap_default_qpl_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-dcap-default-qpl/libsgx-dcap-default-qpl*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_libsgx_dcap_pccs deb_libsgx_dcap_pccs: $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_dcap_pccs_pkg $(CP) external/dcap_source/QuoteGeneration/pccs/build_infrastructure/installer/linux/deb/sgx-dcap-pccs/sgx-dcap-pccs*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_pccs_admin_tool_pkg deb_pccs_admin_tool_pkg: $(MAKE) -C external/dcap_source/QuoteGeneration deb_pccs_admin_tool_pkg $(CP) external/dcap_source/QuoteGeneration/pccs/build_infrastructure/installer/linux/deb/*pccs-admin-tool/*pccs-admin-tool*deb ./linux/installer/deb/ .PHONY: deb_libsgx_dcap_ql deb_libsgx_dcap_ql: deb_libsgx_pce_logic $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_dcap_ql_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-dcap-ql/libsgx-dcap-ql*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_sgx_dcap_quote_verify deb_sgx_dcap_quote_verify: $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_dcap_quote_verify_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-dcap-quote-verify/libsgx-dcap-quote-verify*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_libsgx_ae_qve deb_libsgx_ae_qve: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qve.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ae_qve_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qve/libsgx-ae-qve*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_sgx_pck_id_retrieval_tool_pkg deb_sgx_pck_id_retrieval_tool_pkg: $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_pck_id_retrieval_tool_pkg $(CP) external/dcap_source/tools/PCKRetrievalTool/installer/deb/sgx-pck-id-retrieval-tool/sgx-pck-id-retrieval-tool*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_sgx_ra_service_pkg deb_sgx_ra_service_pkg: $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ra_service_pkg $(CP) external/dcap_source/tools/SGXPlatformRegistration/build/release/installer/sgx-ra-service*deb ./linux/installer/deb/sgx-aesm-service/ $(CP) external/dcap_source/tools/SGXPlatformRegistration/build/release/installer/libsgx-ra-*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_tee_appraisal_tool deb_tee_appraisal_tool: $(MAKE) -C external/dcap_source/QuoteGeneration deb_tee_appraisal_tool_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/tee-appraisal-tool/tee-appraisal-tool*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_libsgx_ae_qae deb_libsgx_ae_qae: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qae.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration deb_sgx_ae_qae_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qae/libsgx-ae-qae*deb ./linux/installer/deb/sgx-aesm-service/ .PHONY: deb_pcs_client_tool deb_pcs_client_tool: $(MAKE) -C external/dcap_source/tools/PcsClientTool deb_sgx_pcs_client_pkg $(CP) external/dcap_source/tools/PcsClientTool/installer/linux/deb/*pcs-client-tool/*pcs-client-tool*deb ./linux/installer/deb/ .PHONY: deb_psw_pkg deb_psw_pkg: deb_libsgx_headers_pkg \ deb_libsgx_qe3_logic \ deb_libsgx_pce_logic \ deb_sgx_aesm_service \ deb_libsgx_quote_ex \ deb_libsgx_uae_service \ deb_libsgx_enclave_common \ deb_libsgx_urts \ deb_libsgx_ae_qe3 \ deb_libsgx_ae_id_enclave \ deb_libsgx_dcap_default_qpl \ deb_libsgx_dcap_pccs \ deb_pccs_admin_tool_pkg \ deb_libsgx_dcap_ql \ deb_libsgx_ae_qve \ deb_sgx_dcap_quote_verify \ deb_sgx_pck_id_retrieval_tool_pkg \ deb_sgx_ra_service_pkg \ deb_libsgx_ae_tdqe \ deb_libsgx_tdx_logic \ deb_tdx_qgs \ deb_tdx_attest \ deb_tee_appraisal_tool \ deb_libsgx_ae_qae \ deb_pcs_client_tool .PHONY: deb_local_repo deb_local_repo: deb_psw_pkg ./linux/installer/common/local_repo_builder/local_repo_builder.sh debian build .PHONY: rpm_libsgx_ae_qe3 rpm_libsgx_ae_qe3: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qe3.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ae_qe3_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qe3/libsgx-ae-qe3*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_libsgx_ae_tdqe rpm_libsgx_ae_tdqe: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_tdqe.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ae_tdqe_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-tdqe/libsgx-ae-tdqe*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_libsgx_ae_id_enclave rpm_libsgx_ae_id_enclave: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_id_enclave.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ae_id_enclave_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-id-enclave/libsgx-ae-id-enclave*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_libsgx_tdx_logic rpm_libsgx_tdx_logic: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_tdx_logic_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-tdx-logic/libsgx-tdx-logic*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_tdx_qgs rpm_tdx_qgs: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_tdx_qgs_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/tdx-qgs/tdx-qgs*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_tdx_attest rpm_tdx_attest: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_tdx_attest_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libtdx-attest/libtdx-attest*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_libsgx_pce_logic rpm_libsgx_pce_logic: psw $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_pce_logic_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-pce-logic/libsgx-pce-logic*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_libsgx_qe3_logic rpm_libsgx_qe3_logic: psw $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_qe3_logic_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-qe3-logic/libsgx-qe3-logic*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_sgx_aesm_service rpm_sgx_aesm_service: psw ./linux/installer/rpm/sgx-aesm-service/build.sh .PHONY: rpm_libsgx_quote_ex rpm_libsgx_quote_ex: psw ./linux/installer/rpm/libsgx-quote-ex/build.sh .PHONY: rpm_libsgx_uae_service rpm_libsgx_uae_service: psw ./linux/installer/rpm/libsgx-uae-service/build.sh .PHONY: rpm_libsgx_enclave_common rpm_libsgx_enclave_common: psw ./linux/installer/rpm/libsgx-enclave-common/build.sh .PHONY: rpm_libsgx_urts rpm_libsgx_urts: psw ./linux/installer/rpm/libsgx-urts/build.sh .PHONY: rpm_sdk_pkg rpm_sdk_pkg: sdk ./linux/installer/rpm/sdk/build.sh .PHONY: rpm_libsgx_headers_pkg rpm_libsgx_headers_pkg: ./linux/installer/rpm/libsgx-headers/build.sh .PHONY: rpm_libsgx_dcap_default_qpl rpm_libsgx_dcap_default_qpl: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_dcap_default_qpl_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-dcap-default-qpl/libsgx-dcap-default-qpl*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_libsgx_dcap_pccs rpm_libsgx_dcap_pccs: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_dcap_pccs_pkg $(CP) external/dcap_source/QuoteGeneration/pccs/build_infrastructure/installer/linux/rpm/sgx-dcap-pccs/sgx-dcap-pccs*.rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_pccs_admin_tool_pkg rpm_pccs_admin_tool_pkg: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_pccs_admin_tool_pkg $(CP) external/dcap_source/QuoteGeneration/pccs/build_infrastructure/installer/linux/rpm/*pccs-admin-tool/*pccs-admin-tool*.rpm ./linux/installer/rpm/ .PHONY: rpm_libsgx_dcap_ql rpm_libsgx_dcap_ql: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_dcap_ql_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-dcap-ql/libsgx-dcap-ql*rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_libsgx_ae_qve rpm_libsgx_ae_qve: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qve.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ae_qve_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qve/libsgx-ae-qve*rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_sgx_dcap_quote_verify rpm_sgx_dcap_quote_verify: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_dcap_quote_verify_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-dcap-quote-verify/libsgx-dcap-quote-verify*rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_sgx_pck_id_retrieval_tool_pkg rpm_sgx_pck_id_retrieval_tool_pkg: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_pck_id_retrieval_tool_pkg $(CP) external/dcap_source/tools/PCKRetrievalTool/installer/rpm/sgx-pck-id-retrieval-tool/sgx-pck-id-retrieval-tool*rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_sgx_ra_service_pkg rpm_sgx_ra_service_pkg: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ra_service_pkg $(CP) external/dcap_source/tools/SGXPlatformRegistration/build/release/installer/sgx-ra-service*rpm ./linux/installer/rpm/sgx-aesm-service/ $(CP) external/dcap_source/tools/SGXPlatformRegistration/build/release/installer/libsgx-ra-*rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_tee_appraisal_tool rpm_tee_appraisal_tool: $(MAKE) -C external/dcap_source/QuoteGeneration rpm_tee_appraisal_tool_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/tee-appraisal-tool/tee-appraisal-tool*rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_libsgx_ae_qae rpm_libsgx_ae_qae: ifeq ("$(wildcard ./external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/libsgx_qae.signed.so)", "") ./external/dcap_source/QuoteGeneration/download_prebuilt.sh endif $(MAKE) -C external/dcap_source/QuoteGeneration rpm_sgx_ae_qae_pkg $(CP) external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qae/libsgx-ae-qae*rpm ./linux/installer/rpm/sgx-aesm-service/ .PHONY: rpm_pcs_client_tool rpm_pcs_client_tool: $(MAKE) -C external/dcap_source/tools/PcsClientTool rpm_sgx_pcs_client_pkg $(CP) external/dcap_source/tools/PcsClientTool/installer/linux/rpm/*pcs-client-tool/*pcs-client-tool*rpm ./linux/installer/rpm/ .PHONY: rpm_psw_pkg rpm_psw_pkg: rpm_libsgx_headers_pkg \ rpm_libsgx_pce_logic \ rpm_libsgx_qe3_logic \ rpm_sgx_aesm_service \ rpm_libsgx_quote_ex \ rpm_libsgx_uae_service \ rpm_libsgx_enclave_common \ rpm_libsgx_urts \ rpm_libsgx_ae_qe3 \ rpm_libsgx_ae_id_enclave \ rpm_libsgx_dcap_default_qpl \ rpm_libsgx_dcap_pccs \ rpm_pccs_admin_tool_pkg \ rpm_libsgx_dcap_ql \ rpm_libsgx_ae_qve \ rpm_sgx_dcap_quote_verify \ rpm_sgx_pck_id_retrieval_tool_pkg \ rpm_sgx_ra_service_pkg \ rpm_libsgx_ae_tdqe \ rpm_libsgx_tdx_logic \ rpm_tdx_qgs \ rpm_tdx_attest \ rpm_tee_appraisal_tool \ rpm_libsgx_ae_qae \ rpm_pcs_client_tool .PHONY: rpm_local_repo rpm_local_repo: rpm_psw_pkg ./linux/installer/common/local_repo_builder/local_repo_builder.sh rpm build clean: @$(MAKE) -C sdk/ clean @$(MAKE) -C psw/ clean @$(RM) -r $(ROOT_DIR)/build @$(RM) -r linux/installer/bin/install-sgx-*.bin*.withLicense @$(RM) -r linux/installer/bin/sgx_linux*.bin ./linux/installer/deb/sgx-aesm-service/clean.sh ./linux/installer/deb/libsgx-quote-ex/clean.sh ./linux/installer/deb/libsgx-uae-service/clean.sh ./linux/installer/deb/libsgx-enclave-common/clean.sh ./linux/installer/deb/libsgx-urts/clean.sh ./linux/installer/deb/libsgx-headers/clean.sh ./linux/installer/common/local_repo_builder/local_repo_builder.sh debian clean ./linux/installer/rpm/sgx-aesm-service/clean.sh ./linux/installer/rpm/libsgx-quote-ex/clean.sh ./linux/installer/rpm/libsgx-uae-service/clean.sh ./linux/installer/rpm/libsgx-enclave-common/clean.sh ./linux/installer/rpm/libsgx-urts/clean.sh ./linux/installer/rpm/libsgx-headers/clean.sh ./linux/installer/rpm/sdk/clean.sh ./linux/installer/common/local_repo_builder/local_repo_builder.sh rpm clean $(MAKE) -C external/ippcp_internal/ clean ifeq ("$(shell test -f external/dcap_source/QuoteVerification/Makefile && echo Makefile exists)", "Makefile exists") @$(MAKE) -C external/dcap_source/QuoteVerification clean @$(MAKE) -C external/dcap_source/QuoteGeneration clean @$(MAKE) -C external/dcap_source/QuoteGeneration/pccs clean @$(MAKE) -C external/dcap_source/tools/PcsClientTool clean ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qve/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qe3/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-id-enclave/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-tdqe/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-tdx-logic/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libtdx-attest/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/tdx-qgs/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-dcap-default-qpl/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-dcap-ql/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-pce-logic/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-qe3-logic/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-dcap-quote-verify/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/tee-appraisal-tool/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/deb/libsgx-ae-qae/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qve/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qe3/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-id-enclave/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-tdqe/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-tdx-logic/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libtdx-attest/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/tdx-qgs/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-dcap-default-qpl/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-dcap-ql/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-pce-logic/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-qe3-logic/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-dcap-quote-verify/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/tee-appraisal-tool/clean.sh ./external/dcap_source/QuoteGeneration/installer/linux/rpm/libsgx-ae-qae/clean.sh endif rebuild: $(MAKE) clean $(MAKE) all .PHONY: distclean distclean: $(MAKE) clean # Cleanup $(RM) -r 'Intel redistributable binary.txt' Master_EULA_for_Intel_Sw_Development_Products.pdf redist.txt $(RM) -rf external/ippcp_internal/inc/*.h external/ippcp_internal/lib/ external/ippcp_internal/license $(RM) -rf external/toolset psw/ae/data/prebuilt/lib*.so psw/ae/data/prebuilt/README.md $(RM) -rf external/dcap_source/QuoteGeneration/psw/ae/data/prebuilt/ $(RM) -rf external/dcap_source/QuoteGeneration/'Intel redistributable binary.txt' $(RM) -rf external/dcap_source/QuoteVerification/sgxssl/ git submodule deinit --all -f $(RM) -rf dcap-trunk external/dcap_source external/openmp/openmp_code external/protobuf/protobuf_code external/protobuf/abseil-cpp external/cbor/sgx_libcbor external/cbor/libcbor