xref: /openbmc/linux/tools/testing/selftests/sgx/Makefile (revision 1188f7f111c61394ec56beb8e30322305a8220b6)
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
152adcba79SJarkko SakkinenHOST_CFLAGS := -Wall -Werror -g $(INCLUDES) -fPIC -z noexecstack
162adcba79SJarkko SakkinenENCL_CFLAGS := -Wall -Werror -static -nostdlib -nostartfiles -fPIC \
172adcba79SJarkko Sakkinen	       -fno-stack-protector -mrdrnd $(INCLUDES)
182adcba79SJarkko Sakkinen
19*1075fafeSZhao Mengmengifeq ($(CAN_BUILD_X86_64), 1)
202adcba79SJarkko SakkinenTEST_CUSTOM_PROGS := $(OUTPUT)/test_sgx
214b79f769SYi LaiTEST_FILES := $(OUTPUT)/test_encl.elf
222adcba79SJarkko Sakkinen
232adcba79SJarkko Sakkinenall: $(TEST_CUSTOM_PROGS) $(OUTPUT)/test_encl.elf
242adcba79SJarkko Sakkinenendif
252adcba79SJarkko Sakkinen
262adcba79SJarkko Sakkinen$(OUTPUT)/test_sgx: $(OUTPUT)/main.o \
272adcba79SJarkko Sakkinen		    $(OUTPUT)/load.o \
282adcba79SJarkko Sakkinen		    $(OUTPUT)/sigstruct.o \
290eaa8d15SJarkko Sakkinen		    $(OUTPUT)/call.o \
300eaa8d15SJarkko Sakkinen		    $(OUTPUT)/sign_key.o
312adcba79SJarkko Sakkinen	$(CC) $(HOST_CFLAGS) -o $@ $^ -lcrypto
322adcba79SJarkko Sakkinen
332adcba79SJarkko Sakkinen$(OUTPUT)/main.o: main.c
342adcba79SJarkko Sakkinen	$(CC) $(HOST_CFLAGS) -c $< -o $@
352adcba79SJarkko Sakkinen
362adcba79SJarkko Sakkinen$(OUTPUT)/load.o: load.c
372adcba79SJarkko Sakkinen	$(CC) $(HOST_CFLAGS) -c $< -o $@
382adcba79SJarkko Sakkinen
392adcba79SJarkko Sakkinen$(OUTPUT)/sigstruct.o: sigstruct.c
402adcba79SJarkko Sakkinen	$(CC) $(HOST_CFLAGS) -c $< -o $@
412adcba79SJarkko Sakkinen
422adcba79SJarkko Sakkinen$(OUTPUT)/call.o: call.S
432adcba79SJarkko Sakkinen	$(CC) $(HOST_CFLAGS) -c $< -o $@
442adcba79SJarkko Sakkinen
450eaa8d15SJarkko Sakkinen$(OUTPUT)/sign_key.o: sign_key.S
460eaa8d15SJarkko Sakkinen	$(CC) $(HOST_CFLAGS) -c $< -o $@
470eaa8d15SJarkko Sakkinen
482adcba79SJarkko Sakkinen$(OUTPUT)/test_encl.elf: test_encl.lds test_encl.c test_encl_bootstrap.S
495064343fSSean Christopherson	$(CC) $(ENCL_CFLAGS) -T $^ -o $@ -Wl,--build-id=none
502adcba79SJarkko Sakkinen
512adcba79SJarkko SakkinenEXTRA_CLEAN := \
522adcba79SJarkko Sakkinen	$(OUTPUT)/test_encl.elf \
532adcba79SJarkko Sakkinen	$(OUTPUT)/load.o \
542adcba79SJarkko Sakkinen	$(OUTPUT)/call.o \
552adcba79SJarkko Sakkinen	$(OUTPUT)/main.o \
562adcba79SJarkko Sakkinen	$(OUTPUT)/sigstruct.o \
572adcba79SJarkko Sakkinen	$(OUTPUT)/test_sgx \
582adcba79SJarkko Sakkinen	$(OUTPUT)/test_sgx.o \
59