mirror of
https://github.com/clearlinux/graphene.git
synced 2026-10-04 16:08:22 +00:00
- Fixing AES-CMAC algorithm - Using SHA512 to hash file stubs (much faster than SHA256 and AES-CMAC) - Hardening enclave interface (still work-in-progress); delt with issue #28 - Handling socket/pipe polling better - Allowing setting the lowest heap address in enclaves ('sgx.heap_min' in manifest) - Fixing the pipe between processes (for SGX) - Fixing race condition in futex handling in LibOS - Inheriting epoll handles in forked chilren - Assigning signal code (now only hard-coding FPE_INTDIV, BUS_ADRERR, SEGV_ACCERR, SEGV_MAPERR) - Fixing race condition in vma allocation (likely to fix bug() in bookkeep/shim_vma.c) - Clearer debug message in LibOS - Fixing calling convention in LibOS and glibc - Fixing futex behavior (FUTEX_WAIT takes relative time, FUTEX_WAIT_BITSET takes absolute time) - More system call implemented - More application working (NGINX)
108 lines
3.0 KiB
Makefile
108 lines
3.0 KiB
Makefile
NPROCS := 1
|
|
OS := $(shell uname -s)
|
|
ifeq ($(OS),Linux)
|
|
NPROCS := $(shell grep -c ^processor /proc/cpuinfo)
|
|
endif
|
|
|
|
target = $(patsubst %.java,%.class,$(wildcard classes/*.java))
|
|
exec_target = java.manifest
|
|
|
|
clean-extra = clean-classes
|
|
|
|
ifeq ($(HUGE),)
|
|
RESOURCE_RULE = sys.stack.size = 256K\nsys.brk.size = 16M\nglibc.heap_size = 4M\nsgx.enclave_size = 256M\nsgx.thread_num = 12
|
|
else
|
|
RESOURCE_RULE = sys.stack.size = 4M\nsys.brk.size = 64M\nglibc.heap_size = 16M\nsgx.enclave_size = 8G\nsgx.thread_num = 32
|
|
endif
|
|
|
|
extra_rules = \
|
|
-e 's:\$$(DEBUGTYPE):$(if $(DEBUG),inline,none):g' \
|
|
-e 's:\$$(JAVA_HOME):$(JAVA_HOME):g' \
|
|
-e 's:\$$(RESOURCE_RULE):$(RESOURCE_RULE):g'
|
|
|
|
level = ../../
|
|
include ../../Makefile
|
|
|
|
TEST_CLASS = $(patsubst %.java,%,$(wildcard classes/*.java))
|
|
|
|
USE_UBUNTU_SRC = no
|
|
VERSION = 7
|
|
ICEDTEA_URL = http://icedtea.wildebeest.org/download/drops/icedtea7/2.6.4/
|
|
JAVA_DIR = openjdk-7
|
|
JAVA_SRC = $(JAVA_DIR) $(JAVA_DIR)/hotspot $(JAVA_DIR)/jdk $(JAVA_DIR)/jdk/src/share/lib/security/nss.cfg
|
|
JAVA_HOME = openjdk-7-jre
|
|
|
|
$(JAVA_DIR): openjdk.tar.bz2
|
|
tar -xmjf $<
|
|
rm -rf $@
|
|
mv $(shell tar -tjf $< | sed -e 's@/.*@@' | head -n 1) $@
|
|
|
|
$(JAVA_DIR)/hotspot: hotspot.tar.bz2 | $(JAVA_DIR)
|
|
tar -xmjf $<
|
|
rm -rf $@
|
|
mv $(shell tar -tjf $< | sed -e 's@/.*@@' | head -n 1) $@
|
|
|
|
$(JAVA_DIR)/jdk: jdk.tar.bz2 | $(JAVA_DIR)
|
|
tar -xmjf $<
|
|
rm -rf $@
|
|
cd $(shell tar -tjf $< | sed -e 's@/.*@@' | head -n 1) && patch -p1 < ../JDK-8015880.patch
|
|
mv $(shell tar -tjf $< | sed -e 's@/.*@@' | head -n 1) $@
|
|
|
|
openjdk.tar.bz2 hotspot.tar.bz2 jdk.tar.bz2:
|
|
wget $(ICEDTEA_URL)$@
|
|
|
|
$(JAVA_DIR)/jdk/src/share/lib/security/nss.cfg: $(JAVA_DIR)/jdk/src/share/lib/security/nss.cfg.in | $(JAVA_DIR)/jdk
|
|
sed 's:@NSS_LIBDIR@:/usr/lib/x86_64-linux-gnu:g' $< > $@
|
|
|
|
|
|
HOST_JAVA_HOME=$(subst /jre/bin/java,,$(shell readlink -f $(shell which java)))
|
|
INSTALL_DIR = $(JAVA_DIR)/build/linux-amd64
|
|
JRE_DIR = $(INSTALL_DIR)/j2sdk-image/jre
|
|
JDK_DIR = $(INSTALL_DIR)/j2sdk-image
|
|
JAVAC = $(JDK_DIR)/bin/javac
|
|
|
|
$(JRE_DIR)/bin/java $(JAVAC): $(JAVA_SRC)
|
|
cd $(JAVA_DIR) && \
|
|
make \
|
|
ALT_BOOTDIR=$(HOST_JAVA_HOME) \
|
|
ALT_JDK_IMPORT_PATH=$(HOST_JAVA_HOME) \
|
|
ANT=/usr/bin/ant \
|
|
INSANE="true" \
|
|
FT2_CFLAGS=$(shell pkg-config --cflags freetype2) \
|
|
FT2_LIBS=$(shell pkg-config --libs freetype2) \
|
|
STATIC_CXX="false" \
|
|
EXTRA_CFLAGS="-fPIC" \
|
|
NO_DOCS="true" \
|
|
BUILD_HEADLESS_ONLY="true" \
|
|
BUILD_HOTSPOT="true" BUILD_JDK="true" \
|
|
BUILD_LANGTOOLS="false" \
|
|
BUILD_JAXP="false" BUILD_JAXWS="false" BUILD_CORBA="false" \
|
|
HOTSPOT_BUILD_JOBS="$(NPROCS)" \
|
|
TEST_IN_BUILD="false" \
|
|
product_build
|
|
|
|
$(JAVA_HOME)/bin/java: $(JRE_DIR)/bin/java
|
|
rm -rf $(JAVA_HOME)
|
|
cp -rf $(JRE_DIR) $(JAVA_HOME)
|
|
find $(JAVA_HOME) -type f -executable -exec strip --strip-debug {} \;
|
|
|
|
distclean: clean
|
|
rm -rf $(JAVA_DIR) $(JAVA_HOME)
|
|
|
|
<<<<<<< HEAD
|
|
build-java: $(JAVA_HOME)/bin/java $(JAVAC)
|
|
=======
|
|
endif
|
|
|
|
build-java: $(JAVA_HOME)/bin/java
|
|
>>>>>>> 76967f3... Bugfixes:
|
|
|
|
java_home:
|
|
@echo $(JAVA_HOME)
|
|
|
|
%.class: %.java
|
|
javac $<
|
|
|
|
clean-classes:
|
|
rm -f $(addsuffix .class,$(TEST_CLASS))
|