1 top_srcdir
= ..
/..
/..
/..
7 CAN_BUILD_X86_64
:= $(shell ..
/x86
/check_cc.sh
"$(CC)" \
8 ..
/x86
/trivial_64bit_program.c
)
11 OBJCOPY
:= $(CROSS_COMPILE
)objcopy
14 INCLUDES
:= -I
$(top_srcdir
)/tools
/include
15 HOST_CFLAGS
:= -Wall
-Werror
-g
$(INCLUDES
) -fPIC
$(CFLAGS
)
16 HOST_LDFLAGS
:= -z noexecstack
-lcrypto
17 ENCL_CFLAGS
+= -Wall
-Werror
-static-pie
-nostdlib
-ffreestanding
-fPIE \
18 -fno-stack-protector
-mrdrnd
$(INCLUDES
)
19 ENCL_LDFLAGS
:= -Wl
,-T
,test_encl.lds
,--build-id
=none
21 ifeq ($(CAN_BUILD_X86_64
), 1)
22 TEST_CUSTOM_PROGS
:= $(OUTPUT
)/test_sgx
23 TEST_FILES
:= $(OUTPUT
)/test_encl.elf
25 all: $(TEST_CUSTOM_PROGS
) $(OUTPUT
)/test_encl.elf
28 $(OUTPUT
)/test_sgx
: $(OUTPUT
)/main.o \
30 $(OUTPUT
)/sigstruct.o \
33 $(CC
) $(HOST_CFLAGS
) -o
$@
$^
$(HOST_LDFLAGS
)
35 $(OUTPUT
)/main.o
: main.c
36 $(CC
) $(HOST_CFLAGS
) -c
$< -o
$@
38 $(OUTPUT
)/load.o
: load.c
39 $(CC
) $(HOST_CFLAGS
) -c
$< -o
$@
41 $(OUTPUT
)/sigstruct.o
: sigstruct.c
42 $(CC
) $(HOST_CFLAGS
) -c
$< -o
$@
44 $(OUTPUT
)/call.o
: call.S
45 $(CC
) $(HOST_CFLAGS
) -c
$< -o
$@
47 $(OUTPUT
)/sign_key.o
: sign_key.S
48 $(CC
) $(HOST_CFLAGS
) -c
$< -o
$@
50 $(OUTPUT
)/test_encl.elf
: test_encl.c test_encl_bootstrap.S
51 $(CC
) $(ENCL_CFLAGS
) $^
-o
$@
$(ENCL_LDFLAGS
)
54 $(OUTPUT
)/test_encl.elf \
58 $(OUTPUT
)/sigstruct.o \
60 $(OUTPUT
)/test_sgx.o \