## This file is part of the coreboot project. ## ## Copyright (C) 2017 Facebook Inc. ## Copyright (C) 2018 9elements Cyber Security ## ## SPDX-License-Identifier: GPL-2.0-only project_dir=linuxboot kernel_dir=$(project_dir)/kernel unexport $(COREBOOT_EXPORTS) all: linuxboot u-root: $(MAKE) -f targets/u-root.mk ifeq ($(CONFIG_LINUXBOOT_BUILD_INITRAMFS),y) ifeq ($(CONFIG_LINUXBOOT_UROOT),y) initramfs: u-root endif else ifneq ($(CONFIG_LINUXBOOT_INITRAMFS),) initramfs: if [[ ! -f "$(top)/$(CONFIG_LINUXBOOT_INITRAMFS)" ]]; then \ echo "<< Linux initramfs '$(CONFIG_LINUXBOOT_INITRAMFS)' is missing. >>"; \ exit 1; \ fi endif endif initramfs_compressed: initramfs ifeq ($(CONFIG_LINUXBOOT_INITRAMFS_COMPRESSION_XZ),y) xz --keep --force --check=crc32 --lzma2=dict=1MiB $(top)/$(CONFIG_LINUXBOOT_INITRAMFS) endif ifeq ($(CONFIG_LINUXBOOT_COMPILE_KERNEL),y) ifeq ($(CONFIG_LINUXBOOT_ARCH),arm64) kernel: initramfs if [[ ! -f "$(top)/$(CONFIG_LINUXBOOT_DTB_FILE)" ]]; then \ echo "<< Linux kernel devicetree is missing. >>"; \ exit 1; \ fi $(MAKE) -f targets/linux.mk else kernel: $(MAKE) -f targets/linux.mk endif else kernel: if [[ ! -f "$(top)/$(CONFIG_LINUXBOOT_KERNEL)" ]]; then \ echo "<< Linux kernel '$(CONFIG_LINUXBOOT_KERNEL)' is missing. >>"; \ exit 1; \ fi endif linuxboot: kernel initramfs_compressed clean: if [ -d "$(kernel_dir)" ]; then rm -rf $(kernel_dir); fi rm -f $(project_dir)/u-root rm -f $(project_dir)/initramfs* distclean: rm -rf $(project_dir) .PHONY: linuxboot kernel initramfs_compressed initramfs u-root clean distclean