blob: aaa076911f47b2d95cfe60feaf7d376dc50db08f [file] [log] [blame]
Patrick Georgi8480c0b2020-05-08 22:50:46 +02001## SPDX-License-Identifier: GPL-2.0-only
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +02002
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +02003unexport $(COREBOOT_EXPORTS)
Patrick Rudolph02c08142018-03-13 11:22:26 +01004
Maximilian Brunec202be72023-06-26 20:04:47 +02005DTC ?= dtc
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +02006
Maximilian Brunec202be72023-06-26 20:04:47 +02007LINUX_ARCH-$(CONFIG_LINUXBOOT_X86_64) = x86_64
8LINUX_ARCH-$(CONFIG_LINUXBOOT_X86) = i386
9LINUX_ARCH-$(CONFIG_LINUXBOOT_ARM64) = arm64
10LINUX_ARCH-$(CONFIG_LINUXBOOT_RISCV_RV32) = riscv
11LINUX_ARCH-$(CONFIG_LINUXBOOT_RISCV_RV64) = riscv
Marcello Sylvester Bauer78d02562018-11-11 18:03:26 +010012
Maximilian Brunec202be72023-06-26 20:04:47 +020013build/Image: $(CONFIG_LINUXBOOT_KERNEL_PATH)
14 ln -s -r $< $@
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +020015
Maximilian Brune6dce55e2023-07-24 18:08:07 +020016
Maximilian Bruneaad41992023-07-24 18:35:27 +020017ifeq ($(CONFIG_LINUXBOOT_COMPILE_KERNEL),y)
Maximilian Brune6dce55e2023-07-24 18:08:07 +020018include targets/linux.mk
Maximilian Bruneaad41992023-07-24 18:35:27 +020019endif
Maximilian Brune6dce55e2023-07-24 18:08:07 +020020ifeq ($(CONFIG_LINUXBOOT_UROOT),y)
21include targets/u-root.mk
22endif
Maximilian Brunec202be72023-06-26 20:04:47 +020023
24build/initramfs: $(CONFIG_LINUXBOOT_INITRAMFS_PATH)
Marcello Sylvester Bauere102c5d2018-11-21 17:45:43 +010025ifeq ($(CONFIG_LINUXBOOT_INITRAMFS_COMPRESSION_XZ),y)
Maximilian Brunec202be72023-06-26 20:04:47 +020026 xz --keep --force --check=crc32 --lzma2=dict=1MiB $(CONFIG_LINUXBOOT_INITRAMFS_PATH)
Marcello Sylvester Bauere102c5d2018-11-21 17:45:43 +010027endif
Maximilian Brunec202be72023-06-26 20:04:47 +020028 cp $(CONFIG_LINUXBOOT_INITRAMFS_PATH)$(CONFIG_LINUXBOOT_INITRAMFS_SUFFIX) $@
Marcello Sylvester Bauere102c5d2018-11-21 17:45:43 +010029
Maximilian Brunec202be72023-06-26 20:04:47 +020030ifeq ($(CONFIG_LINUXBOOT_KERNEL_BZIMAGE),y)
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +020031
Maximilian Brunec202be72023-06-26 20:04:47 +020032build/bzImage: $(kernel_dir)/arch/x86/boot/bzImage | build
33 cp $< $@
34
35else ifeq ($(CONFIG_LINUXBOOT_KERNEL_UIMAGE),y)
36
37build/target.dtb: $(CONFIG_LINUXBOOT_DTS_FILE)
38 $(DTC) -o $@ $<
39
40build/uImage: build/vmlinux.bin.lzma build/initramfs build/target.dtb $(LINUX_ARCH-y)/kernel_fdt_lzma.its | build
41 mkimage -f $(LINUX_ARCH-y)/kernel_fdt_lzma.its $@
42
43endif # CONFIG_LINUXBOOT_KERNEL_BZIMAGE
44
45build:
46 mkdir build
Patrick Rudolph02c08142018-03-13 11:22:26 +010047
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +020048clean:
Maximilian Brunec202be72023-06-26 20:04:47 +020049 rm -rf build/kernel*
50 rm -f build/u-root
51 rm -f build/initramfs*
52 rm -f build/bzImage
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +020053
54distclean:
Maximilian Brunec202be72023-06-26 20:04:47 +020055 rm -rf build
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +020056
Maximilian Brunec202be72023-06-26 20:04:47 +020057.PHONY: linuxboot clean distclean