diff options
Diffstat (limited to 'rules/kernel.make')
-rw-r--r-- | rules/kernel.make | 453 |
1 files changed, 71 insertions, 382 deletions
diff --git a/rules/kernel.make b/rules/kernel.make index c3e8ec9a1..51ce0d5eb 100644 --- a/rules/kernel.make +++ b/rules/kernel.make @@ -1,20 +1,15 @@ # -*-makefile-*- -# $Id: kernel.make,v 1.9 2003/10/23 08:39:49 robert Exp $ +# $Id: kernel.make,v 1.10 2003/10/23 15:01:19 mkl Exp $ +# +# Copyright (C) 2002, 2003 by Pengutronix e.K., Hildesheim, Germany # -# (c) 2002 by Pengutronix e.K., Hildesheim, Germany # See CREDITS for details about who has contributed to this project. # -# For further information about the PTXDIST project and license conditions +# For further information about the PTXdist project and license conditions # see the README file. # # -# There are two "groups" of targets here: that ones starting with xchain- are -# only used for the cross chain. The "normal" targets are used for building the -# runtime kernel. -# - -# # We provide this package # ifndef PTXCONF_DONT_COMPILE_KERNEL @@ -22,385 +17,96 @@ PACKAGES += kernel endif # -# Paths and names +# version stuff in now in rules/Version.make +# NB: make s*cks # -# FIXME: make extraversion configurable and add this into a predefined -# scheme! -# -ifeq (y,$(PTXCONF_KERNEL_2_4_18)) -KERNEL = linux-2.4.18 -KERNEL_URL = ftp://ftp.kernel.org/pub/linux/kernel/v2.4/$(KERNEL).tar.bz2 -KERNEL_SOURCE = $(SRCDIR)/$(KERNEL).tar.bz2 +KERNEL = linux-$(KERNEL_VERSION) +KERNEL_SUFFIX = tar.bz2 +KERNEL_URL = ftp://ftp.kernel.org/pub/linux/kernel/v$(KERNEL_VERSION_MAJOR).$(KERNEL_VERSION_MINOR)/$(KERNEL).$(KERNEL_SUFFIX) +KERNEL_SOURCE = $(SRCDIR)/$(KERNEL).$(KERNEL_SUFFIX) KERNEL_DIR = $(BUILDDIR)/$(KERNEL) -KERNEL_EXTRACT = bzip2 -dc - -KERNEL_RMKPATCH = patch-2.4.18-rmk7 -KERNEL_RMKPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_SOURCE = $(SRCDIR)/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_EXTRACT = bzip2 -dc - -KERNEL_PXAPATCH = diff-2.4.18-rmk7-pxa3 -KERNEL_PXAPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/people/nico/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_EXTRACT = gzip -dc - -KERNEL_PTXPATCH = patch-2.4.18-rmk7-ptx3 -KERNEL_PTXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_URL = http://www.pengutronix.de/software/dnp/patch-2.4.18-rmk7-ptx3 -KERNEL_PTXPATCH_EXTRACT = cat - -ifeq (y, $(PTXCONF_RTAI_ALLSOFT)) -KERNEL_RTAIPATCH = patch-2.4.18-allsoft -endif -ifeq (y, $(PTXCONF_RTAI_RTHAL)) -KERNEL_RTAIPATCH = patch-2.4.18-rthal5g -endif -KERNEL_RTAIPATCH_DIR = $(BUILDDIR)/rtai-patches -endif - -# ----- - -ifeq (y,$(PTXCONF_KERNEL_2_4_19)) -KERNEL = linux-2.4.19 -KERNEL_URL = ftp://ftp.rfc822.org/pub/linux/kernel/v2.4/$(KERNEL).tar.bz2 -KERNEL_SOURCE = $(SRCDIR)/$(KERNEL).tar.bz2 -KERNEL_DIR = $(BUILDDIR)/$(KERNEL) -KERNEL_EXTRACT = bzip2 -dc - -KERNEL_RMKPATCH = patch-2.4.19-rmk7 -KERNEL_RMKPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_SOURCE = $(SRCDIR)/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_EXTRACT = bzip2 -dc - -KERNEL_PXAPATCH = diff-2.4.19-rmk7-pxa2 -KERNEL_PXAPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/people/nico/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_EXTRACT = gzip -dc - -KERNEL_MTDPATCH = linux-2.4.19-rmk7-pxa2-mtd20030728.diff -KERNEL_MTDPATCH_SOURCE = $(SRCDIR)/$(KERNEL_MTDPATCH).bz2 -KERNEL_MTDPATCH_URL = http://www.pengutronix.de/software/linux-arm/$(KERNEL_MTDPATCH).bz2 -KERNEL_MTDPATCH_DIR = $(BUILDDIR)/$(KERNEL) -KERNEL_MTDPATCH_EXTRACT = bzip2 -cd - -KERNEL_PTXPATCH = linux-2.4.19-rmk7-pxa2-ptx10.diff -KERNEL_PTXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_URL = http://www.pengutronix.de/software/linux-arm/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_EXTRACT = cat - -KERNEL_LTTPATCH = linux-2.4.19-rmk7-pxa2-ptx10-ltt1.diff -KERNEL_LTTPATCH_SOURCE = $(SRCDIR)/$(KERNEL_LTTPATCH) -KERNEL_LTTPATCH_URL = http://www.pengutronix.de/software/ltt/$(KERNEL_LTTPATCH) -KERNEL_LTTPATCH_EXTRACT = cat - -ifeq (y, $(PTXCONF_RTAI_ALLSOFT)) -KERNEL_RTAIPATCH = patch-2.4.19-allsoft -endif -ifeq (y, $(PTXCONF_RTAI_RTHAL)) -KERNEL_RTAIPATCH = patch-2.4.19-rthal5g -endif -KERNEL_RTAIPATCH_DIR = $(BUILDDIR)/rtai-patches -endif - -# ----- - -ifeq (y,$(PTXCONF_KERNEL_2_4_20)) -KERNEL = linux-2.4.20 -KERNEL_URL = ftp://ftp.rfc822.org/pub/linux/kernel/v2.4/$(KERNEL).tar.bz2 -KERNEL_SOURCE = $(SRCDIR)/$(KERNEL).tar.bz2 -KERNEL_DIR = $(BUILDDIR)/$(KERNEL) -KERNEL_EXTRACT = bzip2 -dc - -#FIXME: find right patch // not yet available -KERNEL_RMKPATCH = patch-2.4.19-rmk4 -KERNEL_RMKPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_SOURCE = $(SRCDIR)/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_EXTRACT = bzip2 -dc - -#FIXME: find right patch // not yet available -KERNEL_PXAPATCH = diff-2.4.19-rmk4-pxa1 -KERNEL_PXAPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/people/nico/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_SOURCE = $(SRCDIR22)/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_EXTRACT = gzip -dc - -#FIXME: find right patch // not yet available -KERNEL_PTXPATCH = linux-2.4.19-rmk4-pxa1-ptx10.diff -KERNEL_PTXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_URL = http://www.pengutronix.de/software/linux-arm/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_EXTRACT = cat - -ifeq (y, $(PTXCONF_RTAI_ALLSOFT)) -KERNEL_RTAIPATCH = patch-2.4.20-allsoft -endif -ifeq (y, $(PTXCONF_RTAI_RTHAL)) -KERNEL_RTAIPATCH = patch-2.4.20-rthal5g -endif -KERNEL_RTAIPATCH_DIR = $(BUILDDIR)/rtai-patches -endif +KERNEL_PATCHES += $(call get_option_ext, s/^PTXCONF_KERNEL_[0-9]_[0-9]_[0-9]*_\(.*\)=y/\1/, sed -e 's/_/ /g' -e 's/[0-9]//g' ) -# ----- - -ifeq (y,$(PTXCONF_KERNEL_2_4_21)) -KERNEL = linux-2.4.21 -KERNEL_URL = ftp://ftp.rfc822.org/pub/linux/kernel/v2.4/$(KERNEL).tar.bz2 -KERNEL_SOURCE = $(SRCDIR)/$(KERNEL).tar.bz2 -KERNEL_DIR = $(BUILDDIR)/$(KERNEL) -KERNEL_EXTRACT = bzip2 -dc - -#FIXME: find right patch // not yet available -KERNEL_RMKPATCH = patch-2.4.19-rmk4 -KERNEL_RMKPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_SOURCE = $(SRCDIR)/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_EXTRACT = bzip2 -dc - -#FIXME: find right patch // not yet available -KERNEL_PXAPATCH = diff-2.4.19-rmk4-pxa1 -KERNEL_PXAPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/people/nico/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_EXTRACT = gzip -dc - -#FIXME: find right patch // not yet available -KERNEL_PTXPATCH = linux-2.4.19-rmk4-pxa1-ptx10.diff -KERNEL_PTXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_URL = http://www.pengutronix.de/software/linux-arm/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_EXTRACT = cat - -KERNEL_UCLINUXPATCH = uClinux-2.4.21-uc0.diff.gz -KERNEL_UCLINUXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_UCLINUXPATCH) -KERNEL_UCLINUXPATCH_URL = http://www.uclinux.org/pub/uClinux/uClinux-2.4.x/$(KERNEL_UCLINUXPATCH) -KERNEL_UCLINUXPATCH_EXTRACT = zcat - -ifeq (y, $(PTXCONF_RTAI_ALLSOFT)) -KERNEL_RTAIPATCH = patch-2.4.21-allsoft -endif -ifeq (y, $(PTXCONF_RTAI_RTHAL)) -KERNEL_RTAIPATCH = patch-2.4.21-rthal5g -endif -KERNEL_RTAIPATCH_DIR = $(BUILDDIR)/rtai-patches -endif - -# ----- - -ifeq (y,$(PTXCONF_KERNEL_2_4_22)) -KERNEL = linux-2.4.22 -KERNEL_URL = ftp://ftp.rfc822.org/pub/linux/kernel/v2.4/$(KERNEL).tar.bz2 -KERNEL_SOURCE = $(SRCDIR)/$(KERNEL).tar.bz2 -KERNEL_DIR = $(BUILDDIR)/$(KERNEL) -KERNEL_EXTRACT = bzip2 -dc - -#FIXME: find right patch // not yet available -KERNEL_RMKPATCH = patch-2.4.19-rmk4 -KERNEL_RMKPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_SOURCE = $(SRCDIR)/$(KERNEL_RMKPATCH).bz2 -KERNEL_RMKPATCH_EXTRACT = bzip2 -dc - -#FIXME: find right patch // not yet available -KERNEL_PXAPATCH = diff-2.4.19-rmk4-pxa1 -KERNEL_PXAPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/people/nico/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PXAPATCH).gz -KERNEL_PXAPATCH_EXTRACT = gzip -dc - -#FIXME: find right patch // not yet available -KERNEL_PTXPATCH = linux-2.4.19-rmk4-pxa1-ptx10.diff -KERNEL_PTXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_URL = http://www.pengutronix.de/software/linux-arm/$(KERNEL_PTXPATCH) -KERNEL_PTXPATCH_EXTRACT = cat - -#FIXME: find right patch // not yet available -KERNEL_UCLINUXPATCH = uClinux-2.4.21-uc0.diff.gz -KERNEL_UCLINUXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_UCLINUXPATCH) -KERNEL_UCLINUXPATCH_URL = http://www.uclinux.org/pub/uClinux/uClinux-2.4.x/$(KERNEL_UCLINUXPATCH) -KERNEL_UCLINUXPATCH_EXTRACT = zcat - -ifeq (y, $(PTXCONF_RTAI_ALLSOFT)) -KERNEL_RTAIPATCH = patch-2.4.22-allsoft -endif -ifeq (y, $(PTXCONF_RTAI_RTHAL)) -KERNEL_RTAIPATCH = patch-2.4.22-rthal5g -endif -KERNEL_RTAIPATCH_DIR = $(BUILDDIR)/rtai-patches -endif - -# ----- - -ifeq (y, $(PTXCONF_KERNEL_IMAGE_Z)) +ifdef PTXCONF_KERNEL_IMAGE_Z KERNEL_TARGET = zImage KERNEL_TARGET_PATH = $(KERNEL_DIR)/arch/$(PTXCONF_ARCH)/boot/zImage endif -ifeq (y, $(PTXCONF_KERNEL_IMAGE_BZ)) +ifdef PTXCONF_KERNEL_IMAGE_BZ KERNEL_TARGET = bzImage KERNEL_TARGET_PATH = $(KERNEL_DIR)/arch/$(PTXCONF_ARCH)/boot/bzImage endif -ifeq (y, $(PTXCONF_KERNEL_IMAGE_U)) +ifdef PTXCONF_KERNEL_IMAGE_U KERNEL_TARGET = uImage KERNEL_TARGET_PATH = $(KERNEL_DIR)/uImage endif -ifeq (y, $(PTXCONF_KERNEL_IMAGE_VMLINUX)) +ifdef PTXCONF_KERNEL_IMAGE_VMLINUX KERNEL_TARGET = vmlinux KERNEL_TARGET_PATH = $(KERNEL_DIR)/vmlinux endif # ---------------------------------------------------------------------------- -# Get +# Menuconfig # ---------------------------------------------------------------------------- -kernel_get: $(STATEDIR)/kernel.get - -kernel_get_deps = $(KERNEL_SOURCE) - -ifdef PTXCONF_ARCH_NOMMU -kernel_get_deps += $(KERNEL_UCLINUXPATCH_SOURCE) -endif -ifdef PTXCONF_ARCH_ARM -kernel_get_deps += $(KERNEL_RMKPATCH_SOURCE) -endif -ifdef PTXCONF_KERNEL_XSCALE -kernel_get_deps += $(KERNEL_PXAPATCH_SOURCE) -endif -ifdef PTXCONF_KERNEL_XSCALE_PTX -kernel_get_deps += $(KERNEL_MTDPATCH_SOURCE) -kernel_get_deps += $(KERNEL_PTXPATCH_SOURCE) -endif -ifdef PTXCONF_LTT -kernel_get_deps += $(KERNEL_LTTPATCH_SOURCE) -endif - -$(STATEDIR)/kernel.get: $(kernel_get_deps) - @$(call targetinfo, kernel.get) - touch $@ - -$(KERNEL_SOURCE): - @$(call targetinfo, $(KERNEL_SOURCE)) - wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_URL) - -$(KERNEL_RMKPATCH_SOURCE): - @$(call targetinfo, $(KERNEL_RMKPATCH_SOURCE)) - wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_RMKPATCH_URL) +kernel_menuconfig: $(STATEDIR)/kernel.extract + @if [ -f $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG) ]; then \ + install -m 644 $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG) \ + $(KERNEL_DIR)/.config; \ + fi -$(KERNEL_PXAPATCH_SOURCE): - @$(call targetinfo, $(KERNEL_PXAPATCH_SOURCE)) - wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_PXAPATCH_URL) + $(KERNEL_PATH) make -C $(KERNEL_DIR) $(KERNEL_MAKEVARS) \ + menuconfig -$(KERNEL_MTDPATCH_SOURCE): - @$(call targetinfo, $(KERNEL_MTDPATCH_SOURCE)) - wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_MTDPATCH_URL) + @if [ -f $(KERNEL_DIR)/.config ]; then \ + install -m 644 $(KERNEL_DIR)/.config \ + $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG); \ + fi -$(KERNEL_PTXPATCH_SOURCE): - @$(call targetinfo, $(KERNEL_PTXPATCH_SOURCE)) - wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_PTXPATCH_URL) + @if [ -f $(STATEDIR)/kernel.compile ]; then \ + rm $(STATEDIR)/kernel.compile; \ + fi -$(KERNEL_LTTPATCH_SOURCE): - @$(call targetinfo, $(KERNEL_LTTPATCH_SOURCE)) - wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_LTTPATCH_URL) +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- -$(KERNEL_UCLINUXPATCH_SOURCE): - @$(call targetinfo, $(KERNEL_UCLINUXPATCH_SOURCE)) - @$(call get, $(KERNEL_UCLINUXPATCH_URL) +kernel_get: $(STATEDIR)/kernel.get -# -# RTAI patches are included in the normal RTAI packet -# -rtai-patches_get: $(STATEDIR)/rtai-patches.get +kernel_get_deps = \ + $(KERNEL_SOURCE) -$(STATEDIR)/rtai-patches.get: $(STATEDIR)/rtai.get - @$(call targetinfo, rtai-patches.get) +$(STATEDIR)/kernel.get: $(kernel_get_deps) + @$(call targetinfo, $@) touch $@ +$(KERNEL_SOURCE): + @$(call targetinfo, $@) + @$(call get, $(KERNEL_URL)) + # ---------------------------------------------------------------------------- # Extract # ---------------------------------------------------------------------------- kernel_extract: $(STATEDIR)/kernel.extract -kernel_extract_deps = $(STATEDIR)/kernel.get -ifeq (y, $(PTXCONF_RTAI)) -kernel_extract_deps += $(STATEDIR)/rtai-patches.extract -endif -ifeq (y, $(PTXCONF_KERNEL_MTD)) -kernel_extract_deps += $(STATEDIR)/mtd.extract -endif +kernel_extract_deps = \ + $(STATEDIR)/kernel-base.extract \ + $(addprefix $(STATEDIR)/kernel-, $(addsuffix .install, $(KERNEL_PATCHES))) $(STATEDIR)/kernel.extract: $(kernel_extract_deps) - @$(call targetinfo, kernel.extract) - @$(call clean, $(KERNEL_DIR)) - @$(call extract, $(KERNEL_SOURCE)) -# # -# # kernels before 2.4.19 extract to "linux" instead of "linux-version" -# # - ifeq (y,$(PTXCONF_KERNEL_2_4_18)) - cd $(BUILDDIR) && mv linux $(KERNEL_DIR) - endif -# # -# # ARM patch -# # - ifeq (y,$(PTXCONF_ARCH_ARM)) - cd $(KERNEL_DIR) && \ - $(KERNEL_RMKPATCH_EXTRACT) $(KERNEL_RMKPATCH_SOURCE) | \ - patch -p1 - endif -# # -# # XSCALE patch -# # - ifeq (y, $(PTXCONF_KERNEL_XSCALE)) - cd $(KERNEL_DIR) && \ - $(KERNEL_PXAPATCH_EXTRACT) $(KERNEL_PXAPATCH_SOURCE) | \ - patch -p1 - endif -# # -# # MTD patch -# # - ifeq (y, $(PTXCONF_KERNEL_MTD)) - cd $(KERNEL_DIR) && \ - $(KERNEL_MTDPATCH_EXTRACT) $(KERNEL_MTDPATCH_SOURCE) | \ - patch -p1 - endif -# # -# # XSCALE_PTX patch -# # - ifeq (y, $(PTXCONF_KERNEL_XSCALE_PTX)) - cd $(KERNEL_DIR) && \ - $(KERNEL_PTXPATCH_EXTRACT) $(KERNEL_PTXPATCH_SOURCE) | \ - patch -p1 - endif -# # -# # patch for mmu-less architectures -# # - ifdef PTXCONF_ARCH_NOMMU - cd $(KERNEL_DIR) && \ - $(KERNEL_UCLINUXPATCH_EXTRACT) $(KERNEL_UCLINUXPATCH_SOURCE) | \ - patch -p1 || true - endif -# # -# # patches for all architectures -# # - ifeq (y, $(PTXCONF_RTAI)) - cd $(KERNEL_DIR) && \ - patch -p1 < $(KERNEL_RTAIPATCH_DIR)/$(RTAI)/patches/$(KERNEL_RTAIPATCH) - endif -# # -# # LTT patch -# # - ifeq (y, $(PTXCONF_LTT)) - cd $(KERNEL_DIR) && \ - $(KERNEL_LTTPATCH_EXTRACT) $(KERNEL_LTTPATCH_SOURCE) | \ - patch -p1 - endif + @$(call targetinfo, $@) touch $@ +$(STATEDIR)/kernel-base.extract: $(STATEDIR)/kernel.get + @$(call targetinfo, $@) + @$(call clean, $(KERNEL_DIR)) + @$(call extract, $(KERNEL_SOURCE)) # -# RTAI patch +# kernels before 2.4.19 extract to "linux" instead of "linux-<version>" # - -rtai-patches_extract: $(STATEDIR)/rtai-patches.extract - -$(STATEDIR)/rtai-patches.extract: $(STATEDIR)/rtai-patches.get - @$(call targetinfo, rtai-patches.extract) -# # remove old rtaipatch directory - rm -fr $(KERNEL_RTAIPATCH_DIR) - install -d $(KERNEL_RTAIPATCH_DIR) -# # extract only the patches directory - cd $(KERNEL_RTAIPATCH_DIR) && \ - tar zxvf $(RTAI_SOURCE) $(RTAI)/patches +ifeq (2.4.18,$(KERNEL_VERSION)) + mv $(BUILDDIR)/linux $(KERNEL_DIR) +endif touch $@ # ---------------------------------------------------------------------------- @@ -409,23 +115,22 @@ $(STATEDIR)/rtai-patches.extract: $(STATEDIR)/rtai-patches.get kernel_prepare: $(STATEDIR)/kernel.prepare -kernel_prepare_deps = $(STATEDIR)/kernel.extract -kernel_prepare_deps += $(STATEDIR)/virtual-xchain.install -ifdef PTXCONF_RTAI -kernel_prepare_deps += $(STATEDIR)/rtai-patches.extract -endif +kernel_prepare_deps = \ + $(STATEDIR)/kernel.extract \ + $(STATEDIR)/virtual-xchain.install KERNEL_PATH = PATH=$(CROSS_PATH) KERNEL_MAKEVARS = ARCH=$(PTXCONF_ARCH) CROSS_COMPILE=$(PTXCONF_GNU_TARGET)- HOSTCC=$(HOSTCC) $(STATEDIR)/kernel.prepare: $(kernel_prepare_deps) - @$(call targetinfo, kernel.prepare) + @$(call targetinfo, $@) - test -f $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG) && \ + if [ -f $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG) ]; then \ install -m 644 $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG) \ - $(KERNEL_DIR)/.config + $(KERNEL_DIR)/.config; \ + fi - $(KERNEL_PATH) make -C $(KERNEL_DIR) $(KERNEL_MAKEVARS) \ + yes no | $(KERNEL_PATH) make -C $(KERNEL_DIR) $(KERNEL_MAKEVARS) \ oldconfig $(KERNEL_PATH) make -C $(KERNEL_DIR) $(KERNEL_MAKEVARS) \ dep @@ -444,7 +149,7 @@ kernel_compile_deps += $(STATEDIR)/umkimage.install endif $(STATEDIR)/kernel.compile: $(kernel_compile_deps) - @$(call targetinfo, kernel.compile) + @$(call targetinfo, $@) $(KERNEL_PATH) make -C $(KERNEL_DIR) $(KERNEL_MAKEVARS) \ $(KERNEL_TARGET) modules touch $@ @@ -455,8 +160,8 @@ $(STATEDIR)/kernel.compile: $(kernel_compile_deps) kernel_install: $(STATEDIR)/kernel.install -$(STATEDIR)/kernel.install: $(STATEDIR)/kernel.compile - @$(call targetinfo, kernel.install) +$(STATEDIR)/kernel.install: + @$(call targetinfo, $@) touch $@ # ---------------------------------------------------------------------------- @@ -465,37 +170,21 @@ $(STATEDIR)/kernel.install: $(STATEDIR)/kernel.compile kernel_targetinstall: $(STATEDIR)/kernel.targetinstall -$(STATEDIR)/kernel.targetinstall: $(STATEDIR)/kernel.install - @$(call targetinfo, kernel.targetinstall) - ifeq (y,$(PTXCONF_KERNEL_INSTALL)) +$(STATEDIR)/kernel.targetinstall: $(STATEDIR)/kernel.compile + @$(call targetinfo, $@) +ifdef PTXCONF_KERNEL_INSTALL mkdir -p $(ROOTDIR)/boot install $(KERNEL_TARGET_PATH) $(ROOTDIR)/boot - -$(KERNEL_PATH) make -C $(KERNEL_DIR) $(KERNEL_MAKEVARS) \ + $(KERNEL_PATH) make -C $(KERNEL_DIR) $(KERNEL_MAKEVARS) \ modules_install INSTALL_MOD_PATH=$(ROOTDIR) - endif # PTXCONF_KERNEL_INSTALL +endif touch $@ # ---------------------------------------------------------------------------- # Clean # ---------------------------------------------------------------------------- -kernel_clean: rtai-patches_clean +kernel_clean: rm -rf $(STATEDIR)/kernel.* $(KERNEL_DIR) -rtai-patches_clean: - rm -rf $(STATEDIR)/rtai-patches.* $(KERNEL_RTAIPATCH_DIR) - -kernel_menuconfig: $(STATEDIR)/kernel.extract - if test -f $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG) ; then \ - install -m 644 $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG) \ - $(KERNEL_DIR)/.config ; \ - fi - - $(KERNEL_PATH) make -C $(KERNEL_DIR) $(KERNEL_MAKEVARS) \ - menuconfig - - install -m 644 $(KERNEL_DIR)/.config \ - $(TOPDIR)/config/kernel/$(PTXCONF_KERNEL_CONFIG) ; \ - [ -f $(STATEDIR)/kernel.compile ] && rm $(STATEDIR)/kernel.compile - # vim: syntax=make |