123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 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
|