xref: /linux/tools/testing/selftests/sgx/Makefile (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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