Moved kernel build out of world and into kernel subdir
Target for kernel build is once again buildkernel
This commit is contained in:
parent
f188741759
commit
3bc654a914
15 changed files with 22 additions and 7944 deletions
77
kernel/Makefile
Normal file
77
kernel/Makefile
Normal file
|
@ -0,0 +1,77 @@
|
|||
# Makefile - hhl - /usr/src/world/linux-mainline
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
distname = linux
|
||||
default_goal = installkernel
|
||||
include world.mk
|
||||
srcdir = $(basedir)/build/src-world-$(arch)/linux-$(linux_version)
|
||||
objdir = $(basedir)/build/obj-world-$(arch)/linux-$(linux_version)
|
||||
|
||||
config ?= $(wkgdir)/config-$(arch)-$(linux_version).config
|
||||
|
||||
ifeq ($(filter x86_64 i486 i586 i686 i786, $(arch)), $(arch))
|
||||
_arch = x86
|
||||
image = bzImage
|
||||
else ifeq ($(arch), armv7l)
|
||||
_arch = arm
|
||||
image = zImage
|
||||
else
|
||||
image = Image.gz
|
||||
endif
|
||||
ifeq ($(arch), aarch64)
|
||||
_arch = arm64
|
||||
else ifeq ($(arch), riscv64)
|
||||
_arch = riscv
|
||||
endif
|
||||
|
||||
installkernel: $(objdir)/.installed
|
||||
|
||||
buildkernel: $(objdir)/.built
|
||||
|
||||
$(objdir)/.mrproper: $(srcdir)/.dirstamp | $(objdir)
|
||||
$(MAKE) -C ${srcdir} mrproper
|
||||
touch $@
|
||||
|
||||
$(objdir)/.config: $(objdir)/.mrproper
|
||||
$(info $(grn)=== Applying default kernel config ===$(reset))
|
||||
cat ${config} > $(objdir)/.config
|
||||
KBUILD_OUTPUT=$(objdir) $(MAKE) -C $(srcdir) ARCH=$(_arch) CROSS_COMPILE=$(tgt)- olddefconfig
|
||||
|
||||
menuconfig: $(objdir)/.mrproper
|
||||
$(info $(grn)=== Applying default kernel config ===$(reset))
|
||||
cat ${config} > $(objdir)/.config
|
||||
KBUILD_OUTPUT=$(objdir) $(MAKE) -C $(srcdir) ARCH=$(_arch) CROSS_COMPILE=$(tgt)- olddefconfig
|
||||
KBUILD_OUTPUT=$(objdir) $(MAKE) -C $(srcdir) ARCH=$(_arch) CROSS_COMPILE=$(tgt)- menuconfig
|
||||
|
||||
$(objdir)/.built: $(objdir)/.config
|
||||
$(info $(grn)=== Building Linux kernel ===$(reset))
|
||||
KBUILD_OUTPUT=$(objdir) $(MAKE) $(makeflags) ARCH=$(_arch) CROSS_COMPILE=$(tgt)- -C $(srcdir)
|
||||
touch $@
|
||||
|
||||
$(objdir)/.modules_installed: $(objdir)/.built
|
||||
$(info $(grn)=== Installing kernel modules ===$(reset))
|
||||
KBUILD_OUTPUT=$(objdir) INSTALL_MOD_PATH=$(DESTDIR) $(MAKE) -C $(srcdir) modules_install
|
||||
touch $@
|
||||
|
||||
$(objdir)/.docs_installed: $(objdir)/.built
|
||||
$(info $(grn)=== Installing kernel documentation ===$(reset))
|
||||
install -d $(docdir)/linux-$(linux_version)
|
||||
cp -r $(srcdir)/Documentation/* $(docdir)/linux-$(linux_version)
|
||||
touch $@
|
||||
|
||||
$(objdir)/.installed: $(objdir)/.modules_installed $(objdir)/.docs_installed
|
||||
$(info $(grn)=== Installing kernel ===$(reset))
|
||||
install -m644 $(objdir)/arch/$(_arch)/boot/$(image) $(DESTDIR)/boot/vmlinuz-$(linux_version)-$(os_abbrev)-$(os_version)
|
||||
install -m644 $(objdir)/System.map $(DESTDIR)/boot/System.map-$(linux_version)
|
||||
install -m644 $(objdir)/.config $(DESTDIR)/boot/config-$(linux_version)
|
||||
touch $@
|
||||
|
||||
$(objdir):
|
||||
install -d ${objdir}
|
||||
|
||||
$(srcdir)/.dirstamp:
|
||||
$(info $(grn)=== Extracting $(distlocal) ===$(reset))
|
||||
tar -xf $(distlocal) -C $(basedir)/build/src-world
|
||||
touch $@
|
||||
|
||||
.PHONY: buildkernel installkernel
|
10115
kernel/config-aarch64-5.11.5.config
Normal file
10115
kernel/config-aarch64-5.11.5.config
Normal file
File diff suppressed because it is too large
Load diff
10235
kernel/config-armv7l-5.11.5.config
Normal file
10235
kernel/config-armv7l-5.11.5.config
Normal file
File diff suppressed because it is too large
Load diff
10360
kernel/config-i486-5.11.5.config
Normal file
10360
kernel/config-i486-5.11.5.config
Normal file
File diff suppressed because it is too large
Load diff
10361
kernel/config-i686-5.11.5.config
Normal file
10361
kernel/config-i686-5.11.5.config
Normal file
File diff suppressed because it is too large
Load diff
10360
kernel/config-i786-5.11.5.config
Normal file
10360
kernel/config-i786-5.11.5.config
Normal file
File diff suppressed because it is too large
Load diff
7505
kernel/config-riscv64-5.11.5.config
Normal file
7505
kernel/config-riscv64-5.11.5.config
Normal file
File diff suppressed because it is too large
Load diff
10174
kernel/config-x86_64-5.11.5.config
Normal file
10174
kernel/config-x86_64-5.11.5.config
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue