Files
graphene/Pal/Makefile

76 lines
2.1 KiB
Makefile

include src/Makefile.Host
ifeq ($(OS),Linux)
NPROCS ?= $(shell grep -c ^processor /proc/cpuinfo)
else
NPROCS ?= 1
endif
ifeq ($(OS),Linux)
LINUX_GEN := 3.x
LINUX_SRC := linux-3.19
LINUX_KERNEL := $(LINUX_SRC)/arch/x86/boot/bzImage
endif
DIRS = src test regression
.PHONY: all clean
all clean:
for d in $(DIRS); \
do \
$(MAKE) -C $$d $@ || exit $?; \
done
.PHONY: linux-kernel
linux-kernel: $(LINUX_KERNEL)
ifneq ($(LINUX_KERNEL),)
$(LINUX_KERNEL): $(LINUX_SRC)/Makefile $(LINUX_SRC)/graphene $(LINUX_SRC)/.config
$(MAKE) -C $(LINUX_SRC) -j$(NPROCS)
$(LINUX_SRC)/Makefile:
[ -f $(LINUX_SRC).tar.gz ] || \
wget https://www.kernel.org/pub/linux/kernel/v$(LINUX_GEN)/$(LINUX_SRC).tar.gz
tar -xzf $(LINUX_SRC).tar.gz
cd $(LINUX_SRC) && patch -p1 < ../$(LINUX_SRC).patch
$(LINUX_SRC)/graphene: linux-kernel/graphene
cd $(LINUX_SRC) && ln -s ../linux-kernel/graphene graphene
$(LINUX_SRC)/.config: $(LINUX_SRC)/Makefile
cd $(LINUX_SRC) && make menuconfig
kernel_install: kernel
$(MAKE) -C $(LINUX_SRC) install modules_install headers_install
linux-deb:
if [ ! -f $(LINUX_SRC)/.config ]; then \
cp /boot/config-$(shell uname -r) $(LINUX_SRC)/.config && \
cd $(LINUX_SRC) && $(MAKE) menuconfig; fi
cd $(LINUX_SRC) && \
CONCURRENCY_LEVEL=$(NPROCS) make-kpkg --rootcmd fakeroot \
--append-to-version -graphene --initrd \
kernel_image kernel_headers $(if $(DEBUG),kernel_debug,)
else
kernel_install:
endif
.PHONY: test
test:
$(MAKE) -C test test
.PHONY: format
format:
clang-format -i $(shell find . -path ./linux-kernel -prune -o \
-path ./lib/crypto/mbedtls -prune -o \
-path ./lib/crypto/udivmodti4.c -prune -o \
-path ./src/host/Linux-SGX/sgx-driver -prune -o \
-path ./src/security/Linux/bpf-helper.h -prune -o \
-path ./src/security/Linux/bpf_helper.c -prune -o \
\( -name '*.h' -o -name '*.c' \) -print)
.PHONY: pack
pack:
$(MAKE) -C test pack
$(MAKE) -C regression pack