Fix occlum PAL library compatibility issues in demos
This commit is contained in:
parent
b4750c0fcd
commit
306c0333ad
@ -1,12 +1,6 @@
|
||||
SGX_SDK ?= /opt/intel/sgxsdk
|
||||
SGX_MODE ?= HW
|
||||
|
||||
ifneq ($(SGX_MODE), HW)
|
||||
OCCLUM_LIB := /opt/occlum/build_sim/lib
|
||||
else
|
||||
OCCLUM_LIB := /opt/occlum/build/lib
|
||||
endif
|
||||
|
||||
.PHONY: all build_src test clean
|
||||
|
||||
all: occlum_context
|
||||
@ -25,7 +19,7 @@ build_src:
|
||||
|
||||
TOTAL_BYTES := 10000000000 # 10GB
|
||||
test:
|
||||
LD_LIBRARY_PATH=$(OCCLUM_LIB):$(SGX_SDK)/sdk_libs RUST_BACKTRACE=1 \
|
||||
LD_LIBRARY_PATH=bench_driver/build:$(SGX_SDK)/sdk_libs RUST_BACKTRACE=1 \
|
||||
./bench_driver/build/bench_driver $(TOTAL_BYTES)
|
||||
|
||||
clean:
|
||||
|
@ -11,19 +11,24 @@ C_OBJS := $(addprefix $(BUILD_DIR)/,$(C_SRCS:.c=.o))
|
||||
ifneq ($(SGX_MODE), HW)
|
||||
URTS_LIBRARY_NAME := sgx_urts_sim
|
||||
UAE_SERVICE_LIBRARY_NAME := sgx_uae_service_sim
|
||||
OCCLUM_BUILD := build_sim
|
||||
OCCLUM_PAL_LIB := occlum-pal_sim
|
||||
else
|
||||
URTS_LIBRARY_NAME := sgx_urts
|
||||
UAE_SERVICE_LIBRARY_NAME := sgx_uae_service
|
||||
OCCLUM_BUILD := build
|
||||
OCCLUM_PAL_LIB := occlum-pal
|
||||
endif
|
||||
|
||||
MAJOR_VER_NUM = $(shell grep '\#define OCCLUM_MAJOR_VERSION' $(OCCLUM_PREFIX)/include/occlum_version.h | awk '{print $$3}')
|
||||
MINOR_VER_NUM = $(shell grep '\#define OCCLUM_MINOR_VERSION' $(OCCLUM_PREFIX)/include/occlum_version.h | awk '{print $$3}')
|
||||
PATCH_VER_NUM = $(shell grep '\#define OCCLUM_PATCH_VERSION' $(OCCLUM_PREFIX)/include/occlum_version.h | awk '{print $$3}')
|
||||
VERSION_NUM = $(MAJOR_VER_NUM).$(MINOR_VER_NUM).$(PATCH_VER_NUM)
|
||||
|
||||
C_FLAGS := -Wall \
|
||||
-I$(SGX_SDK)/include \
|
||||
-I$(OCCLUM_PREFIX)/include
|
||||
LINK_FLAGS := $(C_FLAGS) -lpthread \
|
||||
-L$(SGX_SDK)/lib64 -l$(URTS_LIBRARY_NAME) -l$(UAE_SERVICE_LIBRARY_NAME) -lsgx_uprotected_fs \
|
||||
-L$(OCCLUM_PREFIX)/$(OCCLUM_BUILD)/lib -locclum-pal
|
||||
-L$(BUILD_DIR) -locclum-pal
|
||||
|
||||
ALL_BUILD_SUBDIRS := $(sort $(patsubst %/,%,$(dir $(BIN) $(C_OBJS))))
|
||||
|
||||
@ -33,7 +38,7 @@ all: $(BIN)
|
||||
|
||||
$(BIN) $(C_OBJS): $(ALL_BUILD_SUBDIRS)
|
||||
|
||||
$(BIN): $(C_OBJS)
|
||||
$(BIN): $(C_OBJS) libocclum-pal.so
|
||||
@$(CC) $(C_OBJS) -o $@ $(LINK_FLAGS)
|
||||
@echo "LINK => $@"
|
||||
|
||||
@ -41,6 +46,10 @@ $(BUILD_DIR)/%.o: %.c
|
||||
@$(CC) $(C_FLAGS) -c $< -o $@
|
||||
@echo "CC <= $@"
|
||||
|
||||
libocclum-pal.so: $(ALL_BUILD_SUBDIRS)
|
||||
@cd $(BUILD_DIR) && ln -sf $(OCCLUM_PREFIX)/build/lib/lib$(OCCLUM_PAL_LIB).so.$(VERSION_NUM) libocclum-pal.so.$(MAJOR_VER_NUM) && \
|
||||
ln -sf libocclum-pal.so.$(MAJOR_VER_NUM) libocclum-pal.so
|
||||
|
||||
$(ALL_BUILD_SUBDIRS):
|
||||
@mkdir -p $@
|
||||
|
||||
|
@ -35,7 +35,6 @@ TARGET = appinitiator
|
||||
|
||||
RM = rm -f
|
||||
|
||||
#SGX_SDK ?= /opt/intel/sgxsdk
|
||||
OCCLUM_PREFIX ?= /opt/occlum
|
||||
|
||||
CFLAGS := -Wall \
|
||||
@ -50,13 +49,18 @@ CXXFLAGS := -Wall \
|
||||
ifneq ($(SGX_MODE), HW)
|
||||
URTS_LIB_NAME := sgx_urts_sim
|
||||
UAE_SERVICE_LIB := sgx_uae_service_sim
|
||||
BUILD_DIR:= build_sim
|
||||
OCCLUM_PAL_LIB := occlum-pal_sim
|
||||
else
|
||||
URTS_LIB_NAME := sgx_urts
|
||||
UAE_SERVICE_LIB := sgx_uae_service
|
||||
BUILD_DIR:= build
|
||||
OCCLUM_PAL_LIB := occlum-pal
|
||||
endif
|
||||
|
||||
MAJOR_VER_NUM = $(shell grep '\#define OCCLUM_MAJOR_VERSION' $(OCCLUM_PREFIX)/include/occlum_version.h | awk '{print $$3}')
|
||||
MINOR_VER_NUM = $(shell grep '\#define OCCLUM_MINOR_VERSION' $(OCCLUM_PREFIX)/include/occlum_version.h | awk '{print $$3}')
|
||||
PATCH_VER_NUM = $(shell grep '\#define OCCLUM_PATCH_VERSION' $(OCCLUM_PREFIX)/include/occlum_version.h | awk '{print $$3}')
|
||||
VERSION_NUM = $(MAJOR_VER_NUM).$(MINOR_VER_NUM).$(PATCH_VER_NUM)
|
||||
|
||||
INC:=-I$(SGX_SDK)/include -I../Include
|
||||
LIB := -l$(URTS_LIB_NAME) -l$(UAE_SERVICE_LIB) -L$(SGX_SDK)/lib64 -lpthread
|
||||
CXXFLAGS += $(INC) $(LIB)
|
||||
@ -74,8 +78,8 @@ else
|
||||
endif
|
||||
|
||||
LINK_FLAGS := $(CXXFLAGS) -lpthread \
|
||||
-L$(SGX_SDK)/lib64 -lsgx_uprotected_fs \
|
||||
-L$(OCCLUM_PREFIX)/$(BUILD_DIR)/lib -locclum-pal
|
||||
-L$(SGX_SDK)/lib64 -lsgx_uprotected_fs \
|
||||
-L$(TOPDIR)/$(OUTDIR) -locclum-pal
|
||||
|
||||
SRC_CPP=$(wildcard *.cpp)
|
||||
|
||||
@ -108,11 +112,15 @@ EnclaveInitiator_u.o: EnclaveInitiator_u.c
|
||||
EnclaveInitiator_u.c:
|
||||
@$(SGX_EDGER8R) --untrusted ../EnclaveInitiator/EnclaveInitiator.edl --search-path $(SGX_SDK)/include
|
||||
|
||||
$(TARGET): EnclaveInitiator_u.o $(SRC_OBJ)
|
||||
@$(CXX) $^ $(LINK_FLAGS) -o $@
|
||||
@echo "GEN => $@"
|
||||
libocclum-pal.so:
|
||||
@mkdir -p $(TOPDIR)/$(OUTDIR)
|
||||
@cd $(TOPDIR)/$(OUTDIR) && ln -sf $(OCCLUM_PREFIX)/build/lib/lib$(OCCLUM_PAL_LIB).so.$(VERSION_NUM) libocclum-pal.so.$(MAJOR_VER_NUM) && \
|
||||
ln -sf libocclum-pal.so.$(MAJOR_VER_NUM) libocclum-pal.so
|
||||
|
||||
$(TARGET): EnclaveInitiator_u.o $(SRC_OBJ) libocclum-pal.so
|
||||
@$(CXX) EnclaveInitiator_u.o $(SRC_OBJ) $(LINK_FLAGS) -o $@
|
||||
@echo "GEN => $@"
|
||||
@mv $@ $(TOPDIR)/$(OUTDIR)/
|
||||
|
||||
clean:
|
||||
@$(RM) $(TARGET) *.o *_u.c *_u.h
|
||||
@$(RM) $(TARGET) *.o *_u.c *_u.h libocclum-pal.so.$(MAJOR_VER_NUM) libocclum-pal.so
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include "EnclaveInitiator_u.h"
|
||||
|
||||
#define ENCLAVE_INITIATOR_NAME "./bin/libenclave_initiator.signed.so"
|
||||
#define ENCLAVE_INITIATOR_NAME "./build/libenclave_initiator.signed.so"
|
||||
|
||||
pthread_t thread;
|
||||
sgx_enclave_id_t initiator_enclave_id = 0;
|
||||
|
@ -20,4 +20,4 @@ proc_msg.o : proc_msg.c
|
||||
$(CC) -c proc_msg.c $(CFLAGS) $(INCLUDE_PATH) -o proc_msg.o
|
||||
|
||||
clean:
|
||||
rm -rf *.o responder
|
||||
@rm -rf *.o responder
|
||||
|
@ -26,4 +26,4 @@ crypto_aes_gcm.o : crypto_aes_gcm.cpp
|
||||
$(CXX) -c crypto_aes_gcm.cpp $(CFLAGS) -o crypto_aes_gcm.o
|
||||
|
||||
clean:
|
||||
rm -rf *.o ec_dh *.so
|
||||
@rm -rf *.o ec_dh *.so
|
||||
|
@ -2,16 +2,10 @@ CUR_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
||||
OPENSSL ?= $(CUR_DIR)/deps/openssl
|
||||
SGX_SDK ?= /opt/intel/sgxsdk
|
||||
|
||||
BIN_DIR := bin
|
||||
APP := $(BIN_DIR)/appinitiator
|
||||
BUILD_DIR := build
|
||||
APP := $(BUILD_DIR)/appinitiator
|
||||
SGX_MODE ?= HW
|
||||
|
||||
ifneq ($(SGX_MODE), HW)
|
||||
OCCLUM_LIB := /opt/occlum/build_sim/lib
|
||||
else
|
||||
OCCLUM_LIB := /opt/occlum/build/lib
|
||||
endif
|
||||
|
||||
occlum_=$(CUR_DIR)/../..
|
||||
|
||||
.PHONY: all build_src test clean
|
||||
@ -35,7 +29,7 @@ build_src:
|
||||
@$(MAKE) --no-print-directory -C EnclaveInitiator
|
||||
|
||||
test: build_src
|
||||
LD_LIBRARY_PATH=$(OCCLUM_LIB):$(SGX_SDK)/sdk_libs RUST_BACKTRACE=1 \
|
||||
LD_LIBRARY_PATH=$(BUILD_DIR):$(SGX_SDK)/sdk_libs RUST_BACKTRACE=1 \
|
||||
./$(APP)
|
||||
|
||||
clean:
|
||||
@ -43,4 +37,4 @@ clean:
|
||||
@$(MAKE) --no-print-directory -C AppResponder clean
|
||||
@$(MAKE) --no-print-directory -C EnclaveInitiator clean
|
||||
@$(MAKE) --no-print-directory -C DiffieHellmanLibrary clean
|
||||
@rm -rf .occlum occlum_context bin
|
||||
@rm -rf .occlum occlum_context $(BUILD_DIR)
|
||||
|
@ -61,9 +61,9 @@ SGX_SDK_PATH ?= $(SGX_SDK)
|
||||
#-------------------------------------------------------------------
|
||||
# This is the output folder.
|
||||
#-------------------------------------------------------------------
|
||||
BIN_DIR := bin
|
||||
BUILD_DIR := build
|
||||
TOPDIR = $(ROOT_DIR)
|
||||
OUTDIR := $(BIN_DIR)
|
||||
OUTDIR := $(BUILD_DIR)
|
||||
|
||||
CP = cp
|
||||
CC ?= gcc
|
||||
|
Loading…
Reference in New Issue
Block a user