openwrt/toolchain/kernel-headers/Makefile
Kevin Darbyshire-Bryant 14881b49d8 toolchain/kernel-headers: don't use TARGET_CFLAGS
Kernel utilities (e.g. scripts/kconfig/conf) are being built to run on
the host system at this stage, therefore it makes no sense to use the
target system CC flags.  Use HOSTCFLAGS instead

While we're here rename KMAKE macro to HOST_KMAKE to make it even more
obvious that we're building for host.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-10-16 16:10:38 +01:00

105 lines
2.5 KiB
Makefile

#
# Copyright (C) 2006-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
KERNEL_BUILD_DIR := $(BUILD_DIR_TOOLCHAIN)
BUILD_DIR := $(KERNEL_BUILD_DIR)
override QUILT:=
override HOST_QUILT:=
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=linux
PKG_VERSION:=$(LINUX_VERSION)
PKG_SOURCE:=$(LINUX_SOURCE)
ifneq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI))
PKG_SOURCE_VERSION:=$(CONFIG_KERNEL_GIT_REF)
else
PKG_SOURCE_URL:=$(LINUX_SITE)
endif
HOST_BUILD_DIR:=$(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
PKG_HASH:=$(LINUX_KERNEL_HASH)
LINUX_DIR := $(HOST_BUILD_DIR)
FILES_DIR :=
PATCH_DIR := ./patches$(if $(wildcard ./patches-$(LINUX_VERSION)),-$(LINUX_VERSION))
include $(INCLUDE_DIR)/toolchain-build.mk
include $(INCLUDE_DIR)/kernel-defaults.mk
ifeq ($(strip $(BOARD)),uml)
LINUX_KARCH:=$(subst x86_64,x86,$(subst i386,x86,$(ARCH)))
endif
HOST_EXTRACFLAGS=
LINUX_HAS_HEADERS_INSTALL:=y
HOST_KMAKE := $(MAKE) -C $(HOST_BUILD_DIR) \
$(KERNEL_MAKE_FLAGS) \
CC="$(KERNEL_CC)" \
HOSTCFLAGS="$(HOST_CFLAGS)"
define Host/Configure/all
mkdir -p $(BUILD_DIR_TOOLCHAIN)/linux-dev
$(HOST_KMAKE) \
INSTALL_HDR_PATH="$(BUILD_DIR_TOOLCHAIN)/linux-dev/" \
headers_install
endef
# XXX: the following is needed to build lzma-loader
ifneq ($(CONFIG_mips)$(CONFIG_mipsel),)
define Host/Configure/lzma
$(CP) \
$(HOST_BUILD_DIR)/arch/mips/include/asm/asm.h \
$(HOST_BUILD_DIR)/arch/mips/include/asm/regdef.h \
$(HOST_BUILD_DIR)/arch/mips/include/asm/asm-eva.h \
$(BUILD_DIR_TOOLCHAIN)/linux-dev/include/asm/
endef
endif
define Host/Configure/post/mips
$(call Host/Configure/lzma)
endef
define Host/Configure/post/mipsel
$(call Host/Configure/lzma)
endef
define Host/Prepare
rm -rf $(BUILD_DIR_TOOLCHAIN)/linux-*
$(call Kernel/Prepare/Default)
rm -f $(BUILD_DIR_TOOLCHAIN)/linux
ln -s linux-$(LINUX_VERSION) $(BUILD_DIR_TOOLCHAIN)/linux
$(SED) 's/@expr length/@-expr length/' $(HOST_BUILD_DIR)/Makefile
endef
define Host/Configure
env
yes '' | $(HOST_KMAKE) oldconfig
$(call Host/Configure/all)
$(call Host/Configure/post/$(ARCH))
endef
define Host/Compile
endef
define Host/Install
$(CP) $(BUILD_DIR_TOOLCHAIN)/linux-dev/* $(TOOLCHAIN_DIR)/
endef
define Host/Clean
rm -rf \
$(HOST_BUILD_DIR) \
$(BUILD_DIR_TOOLCHAIN)/linux \
$(BUILD_DIR_TOOLCHAIN)/linux-dev
endef
$(eval $(call HostBuild))