Build the Linux kernel with the same amount of jobs as coreboot. Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Change-Id: Ie7af5aef4560b8d4dd840d9c578f8a2a4c387400 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78644 Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com> Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| ## SPDX-License-Identifier: GPL-2.0-only
 | |
| 
 | |
| SHELL := /bin/sh
 | |
| 
 | |
| OBJCOPY:=$(CONFIG_LINUXBOOT_CROSS_COMPILE)objcopy
 | |
| KERNEL_MAKE_FLAGS = \
 | |
| 	CROSS_COMPILE=$(CONFIG_LINUXBOOT_CROSS_COMPILE) \
 | |
| 	ARCH=$(LINUX_ARCH-y) \
 | |
| 	KBUILD_BUILD_USER="coreboot" \
 | |
| 	KBUILD_BUILD_HOST="reproducible" \
 | |
| 	KBUILD_BUILD_TIMESTAMP="$(shell perl -e 'print scalar gmtime($(SOURCE_DATE_EPOCH))')" \
 | |
| 	KBUILD_BUILD_VERSION="0"
 | |
| 
 | |
| kernel_version = $(CONFIG_LINUXBOOT_KERNEL_VERSION)
 | |
| kernel_dir = build/kernel-$(subst .,_,$(kernel_version))
 | |
| kernel_tarball = linux-$(kernel_version).tar
 | |
| kernel_mirror  = https://mirrors.edge.kernel.org/pub/linux/kernel
 | |
| 
 | |
| ifeq ($(findstring x2.6.,x$(kernel_version)),x2.6.)
 | |
| kernel_mirror_path := $(kernel_mirror)/v2.6
 | |
| else ifeq ($(findstring x3.,x$(kernel_version)),x3.)
 | |
| kernel_mirror_path := $(kernel_mirror)/v3.x
 | |
| else ifeq ($(findstring x4.,x$(kernel_version)),x4.)
 | |
| kernel_mirror_path := $(kernel_mirror)/v4.x
 | |
| else ifeq ($(findstring x5.,x$(kernel_version)),x5.)
 | |
| kernel_mirror_path := $(kernel_mirror)/v5.x
 | |
| else ifeq ($(findstring x6.,x$(kernel_version)),x6.)
 | |
| kernel_mirror_path := $(kernel_mirror)/v6.x
 | |
| endif
 | |
| 
 | |
| build/$(kernel_tarball).xz: | build
 | |
| 	echo "    Test $(kernel_version)"
 | |
| 	echo "    WWW        $(kernel_mirror_path)/$(kernel_tarball).xz";
 | |
| 	curl -OLSs --output-dir build "$(kernel_mirror_path)/$(kernel_tarball).xz";
 | |
| 
 | |
| $(kernel_dir): build/$(kernel_tarball).xz
 | |
| 	echo "    XZ         $(kernel_tarball).xz";
 | |
| 	mkdir $(kernel_dir);
 | |
| 	tar xJf build/$(kernel_tarball).xz --strip 1 -C $(kernel_dir);
 | |
| 
 | |
| $(kernel_dir)/.config: $(CONFIG_LINUXBOOT_KERNEL_CONFIGFILE) | $(kernel_dir)
 | |
| 	@echo "    CONFIG     Linux $(kernel_version)"
 | |
| 	cp $(CONFIG_LINUXBOOT_KERNEL_CONFIGFILE) $(kernel_dir)/.config
 | |
| 	$(MAKE) -C $(kernel_dir) $(KERNEL_MAKE_FLAGS) olddefconfig
 | |
| 
 | |
| $(kernel_dir)/vmlinux : $(kernel_dir)/.config | $(kernel_dir)
 | |
| 	@echo "    MAKE       Linux $(kernel_version)"
 | |
| 	echo "$(MAKE) -j $(CPUS) -C $(kernel_dir) $(KERNEL_MAKE_FLAGS) vmlinux"
 | |
| 	$(MAKE) -j $(CPUS) -C $(kernel_dir) $(KERNEL_MAKE_FLAGS) vmlinux
 | |
| 
 | |
| build/vmlinux.bin: $(kernel_dir)/vmlinux | build
 | |
| 	$(OBJCOPY) -O binary $< $@
 | |
| 
 | |
| build/vmlinux.bin.lzma: build/vmlinux.bin
 | |
| 	xz -c -k -f --format=lzma --lzma1=dict=1MiB,lc=3,lp=0,pb=3 $< > $@
 | |
| 
 | |
| $(kernel_dir)/arch/x86/boot/bzImage: $(kernel_dir)/.config
 | |
| 	@echo "    MAKE       Linux $(kernel_version)"
 | |
| 	echo "$(MAKE) -C $(kernel_dir) $(KERNEL_MAKE_FLAGS) bzImage"
 | |
| 	$(MAKE) -C $(kernel_dir) $(KERNEL_MAKE_FLAGS) bzImage
 | |
| 
 | |
| .PHONY: kernel
 |