12adcba79SJarkko Sakkinentop_srcdir = ../../../.. 22adcba79SJarkko Sakkinen 32adcba79SJarkko Sakkineninclude ../lib.mk 42adcba79SJarkko Sakkinen 52adcba79SJarkko Sakkinen.PHONY: all clean 62adcba79SJarkko Sakkinen 76170abb2SMuhammad Usama AnjumCAN_BUILD_X86_64 := $(shell ../x86/check_cc.sh "$(CC)" \ 82adcba79SJarkko Sakkinen ../x86/trivial_64bit_program.c) 92adcba79SJarkko Sakkinen 102adcba79SJarkko Sakkinenifndef OBJCOPY 112adcba79SJarkko SakkinenOBJCOPY := $(CROSS_COMPILE)objcopy 122adcba79SJarkko Sakkinenendif 132adcba79SJarkko Sakkinen 142adcba79SJarkko SakkinenINCLUDES := -I$(top_srcdir)/tools/include 15*cc937dadSEdward LiawHOST_CFLAGS := -Wall -Werror -g $(INCLUDES) -fPIC $(CFLAGS) 16f7946465SJo Van BulckHOST_LDFLAGS := -z noexecstack -lcrypto 17f7884e73SJo Van BulckENCL_CFLAGS += -Wall -Werror -static-pie -nostdlib -ffreestanding -fPIE \ 182adcba79SJarkko Sakkinen -fno-stack-protector -mrdrnd $(INCLUDES) 19f7946465SJo Van BulckENCL_LDFLAGS := -Wl,-T,test_encl.lds,--build-id=none 202adcba79SJarkko Sakkinen 21981cf568SZhao Mengmengifeq ($(CAN_BUILD_X86_64), 1) 222adcba79SJarkko SakkinenTEST_CUSTOM_PROGS := $(OUTPUT)/test_sgx 234b79f769SYi LaiTEST_FILES := $(OUTPUT)/test_encl.elf 242adcba79SJarkko Sakkinen 252adcba79SJarkko Sakkinenall: $(TEST_CUSTOM_PROGS) $(OUTPUT)/test_encl.elf 262adcba79SJarkko Sakkinenendif 272adcba79SJarkko Sakkinen 282adcba79SJarkko Sakkinen$(OUTPUT)/test_sgx: $(OUTPUT)/main.o \ 292adcba79SJarkko Sakkinen $(OUTPUT)/load.o \ 302adcba79SJarkko Sakkinen $(OUTPUT)/sigstruct.o \ 310eaa8d15SJarkko Sakkinen $(OUTPUT)/call.o \ 320eaa8d15SJarkko Sakkinen $(OUTPUT)/sign_key.o 33f7946465SJo Van Bulck $(CC) $(HOST_CFLAGS) -o $@ $^ $(HOST_LDFLAGS) 342adcba79SJarkko Sakkinen 352adcba79SJarkko Sakkinen$(OUTPUT)/main.o: main.c 362adcba79SJarkko Sakkinen $(CC) $(HOST_CFLAGS) -c $< -o $@ 372adcba79SJarkko Sakkinen 382adcba79SJarkko Sakkinen$(OUTPUT)/load.o: load.c 392adcba79SJarkko Sakkinen $(CC) $(HOST_CFLAGS) -c $< -o $@ 402adcba79SJarkko Sakkinen 412adcba79SJarkko Sakkinen$(OUTPUT)/sigstruct.o: sigstruct.c 422adcba79SJarkko Sakkinen $(CC) $(HOST_CFLAGS) -c $< -o $@ 432adcba79SJarkko Sakkinen 442adcba79SJarkko Sakkinen$(OUTPUT)/call.o: call.S 452adcba79SJarkko Sakkinen $(CC) $(HOST_CFLAGS) -c $< -o $@ 462adcba79SJarkko Sakkinen 470eaa8d15SJarkko Sakkinen$(OUTPUT)/sign_key.o: sign_key.S 480eaa8d15SJarkko Sakkinen $(CC) $(HOST_CFLAGS) -c $< -o $@ 490eaa8d15SJarkko Sakkinen 50f7946465SJo Van Bulck$(OUTPUT)/test_encl.elf: test_encl.c test_encl_bootstrap.S 51f7946465SJo Van Bulck $(CC) $(ENCL_CFLAGS) $^ -o $@ $(ENCL_LDFLAGS) 522adcba79SJarkko Sakkinen 532adcba79SJarkko SakkinenEXTRA_CLEAN := \ 542adcba79SJarkko Sakkinen $(OUTPUT)/test_encl.elf \ 552adcba79SJarkko Sakkinen $(OUTPUT)/load.o \ 562adcba79SJarkko Sakkinen $(OUTPUT)/call.o \ 572adcba79SJarkko Sakkinen $(OUTPUT)/main.o \ 582adcba79SJarkko Sakkinen $(OUTPUT)/sigstruct.o \ 592adcba79SJarkko Sakkinen $(OUTPUT)/test_sgx \ 602adcba79SJarkko Sakkinen $(OUTPUT)/test_sgx.o \ 61