This commit is contained in:
@@ -37,15 +37,10 @@ else ifneq ($(findstring -rc,$(LINUX_VERSION)),)
|
||||
LINUX_SITE = https://git.kernel.org/torvalds/t
|
||||
else
|
||||
LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz
|
||||
# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order
|
||||
# to use the $(word) function. We support versions such as 4.0, 3.1,
|
||||
# 2.6.32, 2.6.32-rc1, 3.0-rc6, etc.
|
||||
ifeq ($(findstring x2.6.,x$(LINUX_VERSION)),x2.6.)
|
||||
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6
|
||||
else ifeq ($(findstring x3.,x$(LINUX_VERSION)),x3.)
|
||||
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x
|
||||
else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.)
|
||||
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x
|
||||
else
|
||||
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(firstword $(subst ., ,$(LINUX_VERSION))).x
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -64,6 +59,10 @@ BR_NO_CHECK_HASH_FOR += $(notdir $(LINUX_PATCHES))
|
||||
# be directories in the patch list (unlike for other packages).
|
||||
LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
|
||||
|
||||
LINUX_MAKE_ENV = \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
BR_BINARIES_DIR=$(BINARIES_DIR)
|
||||
|
||||
LINUX_INSTALL_IMAGES = YES
|
||||
LINUX_DEPENDENCIES = host-kmod
|
||||
|
||||
@@ -100,7 +99,13 @@ LINUX_DEPENDENCIES += host-openssl
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
|
||||
LINUX_DEPENDENCIES += host-elfutils
|
||||
LINUX_DEPENDENCIES += host-elfutils host-pkgconf
|
||||
LINUX_MAKE_ENV += \
|
||||
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
|
||||
PKG_CONFIG_SYSROOT_DIR="/" \
|
||||
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
|
||||
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
|
||||
PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"
|
||||
endif
|
||||
|
||||
# If host-uboot-tools is selected by the user, assume it is needed to
|
||||
@@ -124,10 +129,6 @@ LINUX_MAKE_FLAGS = \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
DEPMOD=$(HOST_DIR)/sbin/depmod
|
||||
|
||||
LINUX_MAKE_ENV = \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
BR_BINARIES_DIR=$(BINARIES_DIR)
|
||||
|
||||
ifeq ($(BR2_REPRODUCIBLE),y)
|
||||
LINUX_MAKE_ENV += \
|
||||
KBUILD_BUILD_VERSION=1 \
|
||||
@@ -438,15 +439,16 @@ endif
|
||||
endif
|
||||
|
||||
# Compilation. We make sure the kernel gets rebuilt when the
|
||||
# configuration has changed.
|
||||
# configuration has changed. We call the 'all' and
|
||||
# '$(LINUX_TARGET_NAME)' targets separately because calling them in
|
||||
# the same $(MAKE) invocation has shown to cause parallel build
|
||||
# issues.
|
||||
define LINUX_BUILD_CMDS
|
||||
$(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \
|
||||
cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/
|
||||
)
|
||||
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all
|
||||
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME)
|
||||
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
|
||||
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \
|
||||
fi
|
||||
$(LINUX_BUILD_DTB)
|
||||
$(LINUX_APPEND_DTB)
|
||||
endef
|
||||
|
||||
Reference in New Issue
Block a user