Moved kernel build out of world and into kernel subdir

Target for kernel build is once again buildkernel
This commit is contained in:
Nathan Fisher 2021-03-21 01:01:32 -04:00
parent f188741759
commit 3bc654a914
15 changed files with 22 additions and 7944 deletions

View file

@ -5,12 +5,6 @@
default_goal = all
include src-config.mk
ifeq (${rpi},true)
kernel = linux-rpi
else
kernel = linux-mainline
endif
subdirs += fs_skeleton
subdirs += man-pages
subdirs += iana-etc
@ -88,7 +82,6 @@ subdirs += bin
subdirs += sbin
subdirs += usr.bin
subdirs += usr.sbin
subdirs += $(kernel)
ifeq ($(arch),x86_64)
subdirs += grub

View file

@ -1,15 +0,0 @@
# Makefile - hhl - /usr/src/world/linux-headers
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
distname = linux
config_tgt = ${objdir}/Makefile
include world.mk
config_cmd = $(MAKE) -C ${srcdir} mrproper
build_cmd = KBUILD_OUTPUT=${objdir} $(MAKE) -C ${srcdir} headers
define post_build
find ${objdir}/usr/include -name '.*' -delete
rm -rf ${objdir}/usr/include/Makefile || true
endef
install_cmd = cp -r ${objdir}/usr/include/* /usr/include
include targets.mk

View file

@ -1,77 +0,0 @@
# 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/linux-$(linux_version)
objdir = $(basedir)/build/obj-world/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

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,51 +0,0 @@
# Makefile - hhl - /usr/src/world/linux-rpi
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
distname = linux_rpi
default_goal = installkernel
include world.mk
srcdir = /src/linux_rpi-${linux_rpi_version}
objdir = /obj/linux_rpi-${linux_rpi_version}
config ?= ${wkgdir}/config-rpi4-5.4.45.config
installkernel: ${objdir}/.installed
buildkernel: ${objdir}/.built
${objdir}/.mrproper: ${srcdir}/.dirstamp ${objdir}/.dirstamp
$(MAKE) -C ${srcdir} mrproper
touch $@
${objdir}/.config: ${objdir}/.mrproper
$(info === Applying default kernel config ===)
cat ${config} > ${objdir}/.config
KBUILD_OUTPUT=${objdir} $(MAKE) -C ${srcdir} olddefconfig
${objdir}/.built: ${objdir}/.config
$(info === Building Linux kernel ===)
KBUILD_OUTPUT=${objdir} $(MAKE) ${makeflags} -C ${srcdir}
touch $@
${objdir}/.installed: ${objdir}/.built
$(info === Installing kernel modules ===)
KBUILD_OUTPUT=${objdir} $(MAKE) -C ${srcdir} modules_install
$(info === Installing kernel modules ===)
KBUILD_OUTPUT=${objdir} $(MAKE) -C ${srcdir} modules_install
$(info === Installing kernel ===)
install -m644 ${objdir}/arch/arm/boot/zImage /boot/vmlinuz-${linux_version}-${os_abbrev}-${os_version}
install -m644 ${objdir}/System.map /boot/System.map-${linux_version}
install -m644 ${objdir}/.config /boot/config-${linux_version}
$(info === Installing kernel documentation ===)
install -d ${docdir}/linux-${linux_rpi_version}
cp -r ${srcdir}/Documentation/* ${docdir}/linux-${linux_rpi_version}
touch $@
${objdir}/.dirstamp:
install -d ${objdir}
touch $@
${srcdir}/.dirstamp:
$(info === Extracting ${distlocal} ===)
tar -xJf ${distlocal} -C /src
touch $@
.PHONY: buildkernel installkernel

File diff suppressed because it is too large Load diff