diff --git a/Pal/lib/Makefile b/Pal/lib/Makefile index 5cb8ee76..6139cad2 100644 --- a/Pal/lib/Makefile +++ b/Pal/lib/Makefile @@ -8,7 +8,7 @@ CFLAGS = -Wall -fPIC -O2 -std=gnu99 -fgnu89-inline -U_FORTIFY_SOURCE \ -fno-stack-protector -fno-builtin ARFLAGS = -include ../src/host/$(OS)/Makefile.am +include ../src/host/$(PAL_HOST)/Makefile.am CFLAGS += -I. -I../include -I../src subdirs = string stdlib network graphene diff --git a/Pal/src/Makefile b/Pal/src/Makefile index 0b4b3457..9ff478e3 100644 --- a/Pal/src/Makefile +++ b/Pal/src/Makefile @@ -5,9 +5,9 @@ include Makefile.Host -include Makefile.Status ifeq ($(DEBUG),1) -BUILD_TARGET = $(OS)-debug +BUILD_TARGET = $(PAL_HOST)-debug else -BUILD_TARGET = $(OS) +BUILD_TARGET = $(PAL_HOST) endif # Customizable PAL Targets @@ -19,9 +19,9 @@ pal_lib_deps = pal_lib_post = pal_static = -include host/$(OS)/Makefile.am +include host/$(PAL_HOST)/Makefile.am -CFLAGS += -I. -I../include -Ihost/$(OS) -I../lib +CFLAGS += -I. -I../include -Ihost/$(PAL_HOST) -I../lib ifeq ($(PROFILING),1) CFLAGS += -DPROFILING=1 @@ -30,13 +30,13 @@ endif files_to_build = $(pal_lib) $(pal_lib_post) $(pal_static) \ $(pal_loader) $(pal_sec) -defs = -DIN_PAL -D$(OS_MACRO) -DPAL_DIR=$(PAL_DIR) \ +defs = -DIN_PAL -D$(PAL_HOST_MACRO) -DPAL_DIR=$(PAL_DIR) \ -DRUNTIME_DIR=$(RUNTIME_DIR) objs = $(addprefix db_,streams memory threading semaphore events process \ object main misc ipc exception rtld) slab printf graphene_lib = .lib/graphene-lib.a -host_lib = host/$(OS)/libpal-$(OS).a -headers = $(wildcard *.h) $(wildcard ../lib/*.h) host/$(OS)/pal_host.h +host_lib = host/$(PAL_HOST)/libpal-$(PAL_HOST).a +headers = $(wildcard *.h) $(wildcard ../lib/*.h) host/$(PAL_HOST)/pal_host.h ifeq ($(SYS),x86_64-linux-gnu) files_to_build += user_start.o user_shared_start.o @@ -48,14 +48,14 @@ CFLAGS += -DDEBUG endif export DEBUG -runtime_loader = $(RUNTIME_DIR)/pal-$(OS) +runtime_loader = $(RUNTIME_DIR)/pal-$(PAL_HOST) ifneq ($(pal_lib),) - runtime_lib += $(RUNTIME_DIR)/libpal-$(OS)$(suffix $(pal_lib)) + runtime_lib += $(RUNTIME_DIR)/libpal-$(PAL_HOST)$(suffix $(pal_lib)) endif ifneq ($(pal_sec),) - runtime_sec += $(RUNTIME_DIR)/pal_sec-$(OS) + runtime_sec += $(RUNTIME_DIR)/pal_sec-$(PAL_HOST) endif files_to_install = $(runtime_loader) $(runtime_lib) $(runtime_sec) @@ -81,11 +81,11 @@ endif $(graphene_lib): host_endian.h $(MAKE) -C ../lib target=$(shell pwd)/.lib/ -host_endian.h: host/$(OS)/host_endian.h +host_endian.h: host/$(PAL_HOST)/host_endian.h ln -sf $< $@ $(host_lib): $(graphene_lib) - @[ ! -d host/$(OS) ] || $(MAKE) -C host/$(OS) + @[ ! -d host/$(PAL_HOST) ] || $(MAKE) -C host/$(PAL_HOST) $(pal_loader) $(pal_sec): $(host_lib) @@ -103,7 +103,7 @@ endif ifneq ($(pal_sec),) $(pal_sec): $(graphene_lib) - @[ ! -d security/$(OS) ] || $(MAKE) -C security/$(OS) + @[ ! -d security/$(PAL_HOST) ] || $(MAKE) -C security/$(PAL_HOST) $(runtime_sec): $(pal_sec) cp -f $< $@ @@ -111,7 +111,7 @@ endif ifneq ($(pal_lib_post),) $(pal_lib_post): $(pal_lib) - $(MAKE) -C host/$(OS) ../../$@ + $(MAKE) -C host/$(PAL_HOST) ../../$@ endif $(pal_static): $(addsuffix .o,$(objs)) $(host_lib) $(graphene_lib) @@ -140,9 +140,9 @@ user_shared_start.o: user_start.S @$(CC) $(CFLAGS) $(defs) -E $< -o $@ $(CFLAGS-suffix) clean: -ifneq ($(SAVED_OS),$(OS)) - $(MAKE) clean OS=$(SAVED_OS) +ifneq ($(SAVED_OS),$(PAL_HOST)) + $(MAKE) clean PAL_HOST=$(SAVED_OS) endif rm -rf $(addsuffix .o,$(objs)) $(files_to_build) host_endian.h .lib Makefile.Status - @[ ! -d host/$(OS) ] || $(MAKE) -C host/$(OS) clean - @[ ! -d security/$(OS) ] || $(MAKE) -C security/$(OS) clean + @[ ! -d host/$(PAL_HOST) ] || $(MAKE) -C host/$(PAL_HOST) clean + @[ ! -d security/$(PAL_HOST) ] || $(MAKE) -C security/$(PAL_HOST) clean diff --git a/Pal/src/Makefile.Host b/Pal/src/Makefile.Host index 4aa55402..9742ac6e 100644 --- a/Pal/src/Makefile.Host +++ b/Pal/src/Makefile.Host @@ -1,11 +1,11 @@ all_hosts = Skeleton Linux Linux-SGX FreeBSD -ifeq ($(OS),) +ifeq ($(PAL_HOST),) SYS := $(shell gcc -dumpmachine) ifeq ($(SYS),x86_64-linux-gnu) -OS := Linux +PAL_HOST := Linux else ifeq ($(findstring freebsd,$(SYS)),freebsd) -OS := FreeBSD +PAL_HOST := FreeBSD else $(error Unsupported platform: $(SYS)) endif @@ -16,15 +16,16 @@ ifeq ($(SGX)$(SGX_RUN),11) $(error "Do not use SGX=1 and SGX_RUN=1 at the same time") endif ifeq ($(SGX)$(SGX_RUN),1) - OS := $(patsubst %-SGX,%,$(OS))-SGX + PAL_HOST := $(patsubst %-SGX,%,$(PAL_HOST))-SGX endif -ifeq ($(findstring $(OS),$(all_hosts)),) -$(error Unsupported platform: $(OS)) +ifeq ($(findstring $(PAL_HOST),$(all_hosts)),) +$(error Unsupported platform: $(PAL_HOST)) endif -export OS -export OS_MACRO = $(shell echo $(OS) | tr '[:lower:]' '[:upper:]' | tr '-' '_') +export PAL_HOST +export PAL_HOST_MACRO = $(shell echo $(PAL_HOST) | tr '[:lower:]' '[:upper:]' | tr '-' '_') +.DEFAULT_GOAL := all print_host: - @echo $(OS) + @echo $(PAL_HOST) diff --git a/Pal/src/Makefile.Test b/Pal/src/Makefile.Test index 37476596..45db1608 100644 --- a/Pal/src/Makefile.Test +++ b/Pal/src/Makefile.Test @@ -2,4 +2,4 @@ DIR = $(dir $(lastword $(MAKEFILE_LIST))) expand_target = $(1) include $(DIR)/Makefile.Host --include $(DIR)/host/$(OS)/Makefile.Test +-include $(DIR)/host/$(PAL_HOST)/Makefile.Test diff --git a/Pal/src/host/Linux-SGX/Makefile.am b/Pal/src/host/Linux-SGX/Makefile.am index 92d7d0e2..b4ab37af 100644 --- a/Pal/src/host/Linux-SGX/Makefile.am +++ b/Pal/src/host/Linux-SGX/Makefile.am @@ -1,5 +1,5 @@ # Add host-specific compilation rules here -HOST_DIR = host/$(OS) +HOST_DIR = host/$(PAL_HOST) CC = gcc AS = gcc @@ -12,13 +12,13 @@ CFLAGS = -Wall -fPIC -O2 -maes -std=gnu99 -fgnu89-inline -U_FORTIFY_SOURCE \ ASFLAGS = -DPIC -DSHARED -fPIC -DASSEMBLER -Wa,--noexecstack \ -x assembler-with-cpp -DIN_ENCLAVE LDFLAGS = -shared -nostdlib -z combreloc -z defs \ - --version-script $(HOST_DIR)/pal.map -T host/$(OS)/enclave.lds \ + --version-script $(HOST_DIR)/pal.map -T $(HOST_DIR)/enclave.lds \ --hash-style=gnu -e enclave_entry ARFLAGS = -pal_loader = host/$(OS)/pal-sgx +pal_loader = $(HOST_DIR)/pal-sgx pal_sec = pal_lib = libpal-enclave.so -pal_lib_deps = host/$(OS)/enclave.lds host/$(OS)/pal.map +pal_lib_deps = $(HOST_DIR)/enclave.lds $(HOST_DIR)/pal.map pal_lib_post = libpal.so pal_static = libpal.a diff --git a/Pal/src/host/Linux/Makefile.am b/Pal/src/host/Linux/Makefile.am index 8f2275eb..2cb3419c 100644 --- a/Pal/src/host/Linux/Makefile.am +++ b/Pal/src/host/Linux/Makefile.am @@ -1,6 +1,6 @@ # Add host-specific compilation rules here -HOST_DIR = host/$(OS) -SEC_DIR = security/$(OS) +HOST_DIR = host/$(PAL_HOST) +SEC_DIR = security/$(PAL_HOST) CC = gcc AS = gcc