4:53
  "   ˆl–Ðz¾””ÔD¨ 	ÅÝÆÙ¸)‹FÿÁƒh¹À¿      pci:v00001AF4d00001003sv00001AF4sd00000003bc07sc80i00
  9   ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿÂƒ`sa–Ðz¾””ÔD¨ 	ÅÝÆÙ¸ËjbÑ¿Á â    top_srcdir = ../../../..

include ../lib.mk

.PHONY: all clean

CAN_BUILD_X86_64 := $(shell ../x86/check_cc.sh "$(CC)" \
			    ../x86/trivial_64bit_program.c)

ifndef OBJCOPY
OBJCOPY := $(CROSS_COMPILE)objcopy
endif

INCLUDES := -I$(top_srcdir)/tools/include
HOST_CFLAGS := -Wall -Werror -g $(INCLUDES) -fPIC $(CFLAGS)
HOST_LDFLAGS := -z noexecstack -lcrypto
ENCL_CFLAGS += -Wall -Werror -static-pie -nostdlib -ffreestanding -fPIE \
	       -fno-stack-protector -mrdrnd -mno-avx $(INCLUDES)
ENCL_LDFLAGS := -Wl,-T,test_encl.lds,--build-id=none

ifeq ($(CAN_BUILD_X86_64), 1)
TEST_CUSTOM_PROGS := $(OUTPUT)/test_sgx
TEST_FILES := $(OUTPUT)/test_encl.elf

all: $(TEST_CUSTOM_PROGS) $(OUTPUT)/test_encl.elf
endif

$(OUTPUT)/test_sgx: $(OUTPUT)/main.o \
		    $(OUTPUT)/load.o \
		    $(OUTPUT)/sigstruct.o \
		    $(OUTPUT)/call.o \
		    $(OUTPUT)/sign_key.o
	$(CC) $(HOST_CFLAGS) -o $@ $^ $(HOST_LDFLAGS)

$(OUTPUT)/main.o: main.c
	$(CC) $(HOST_CFLAGS) -c $< -o $@

$(OUTPUT)/load.o: load.c
	$(CC) $(HOST_CFLAGS) -c $< -o $@

$(OUTPUT)/sigstruct.o: sigstruct.c
	$(CC) $(HOST_CFLAGS) -c $< -o $@

$(OUTPUT)/call.o: call.S
	$(CC) $(HOST_CFLAGS) -c $< -o $@

$(OUTPUT)/sign_key.o: sign_key.S
	$(CC) $(HOST_CFLAGS) -c $< -o $@

$(OUTPUT)/test_encl.elf: test_encl.c test_encl_bootstrap.S
	$(CC) $(ENCL_CFLAGS) $^ -o $@ $(ENCL_LDFLAGS)

EXTRA_CLEAN := \
	$(OUTPUT)/test_encl.elf \
	$(OUTPUT)/load.o \
	$(OUTPUT)/call.o \
	$(OUTPUT)/main.o \
	$(OUTPUT)/sigstruct.o \
	$(OUTPUT)/test_sgx \
	$(OUTPUT)/test_sgx.o \
  5   ˆl–Ðz¾”T¾R( 	•ÝÆ_¸!)‹FÿÄ„bd__�uÐb&=L‰*VBl(éÀÃ ;€    ELF          >    �      @       À4          @ 8  @                                 ø      ø                                        	      	                                           ô      ô                   ˆ,      ˆ<      ˆ<      x      €                    ,       <       <      P      P                   ¨      ¨      ¨                                   È      È      È      $       $              Såtd   ¨      ¨      ¨                             Påtd   ¨       ¨       ¨       L       L              Qåtd                                                  Råtd   ˆ,      ˆ<      ˆ<      x      x                      GNU   À                   GNU "\ûî8A€çYË1î‘˜vc6                             ‹4�                            #                                                                 “                     ¤                                           *                     Á                                                                 Î                     ç                      u                                          ,                                            Ë                      F   "                   ¨                     ™                      �                      L                     h                      „                      F                     ð                                           À                      6                     U                      X          é       __gmon_start__ _ITM_deregisterTMCloneTable _ITM_registerTMCloneTable __cxa_finalize g_ascii_strcasecmp tracker_resource_set_string g_strsplit g_strchug g_strchomp tracker_resource_add_string g_strfreev tracker_extract_new_contact tracker_resource_add_relation g_object_unref strlen tracker_text_validate_utf8 g_string_append g_string_insert_c tracker_extract_get_metadata tracker_extract_info_get_file tracker_resource_new tracker_resource_add_uri g_string_new tracker_extract_info_get_max_text g_file_get_path htmlSAXParseFile xmlFreeDoc g_string_free tracker_extract_info_set_resource __stack_chk_fail libtracker-extract.so libglib-2.0.so.0 libtracker-sparql-3.0.so.0 libgio-2.0.so.0 libgobject-2.0.so.0 libxml2.so.2 libc.so.6 GLIBC_2.4 GLIBC_2.2.5 LIBXML2_2.4.30 $ORIGI