2 # Copyright (C) 2006-2009 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
9 KERNEL_BUILD_DIR
:= $(BUILD_DIR_TOOLCHAIN
)
10 BUILD_DIR
:= $(KERNEL_BUILD_DIR
)
15 include $(INCLUDE_DIR
)/kernel.mk
18 PKG_VERSION
:=$(LINUX_VERSION
)
19 PKG_SOURCE
:=$(LINUX_SOURCE
)
20 PKG_CPE_ID
:=cpe
:/o
:linux
:linux_kernel
21 ifneq ($(call qstrip
,$(CONFIG_KERNEL_GIT_CLONE_URI
)),)
23 PKG_SOURCE_URL
:=$(call qstrip
,$(CONFIG_KERNEL_GIT_CLONE_URI
))
24 PKG_SOURCE_VERSION
:=$(call qstrip
,$(CONFIG_KERNEL_GIT_REF
))
25 PKG_MIRROR_HASH
:=$(call qstrip
,$(CONFIG_KERNEL_GIT_MIRROR_HASH
))
27 PLATFORM_DIR
:=$(firstword $(wildcard $(TOPDIR
)/target
/linux
/feeds
/$(BOARD
) $(TOPDIR
)/target
/linux
/$(BOARD
)))
28 include $(PLATFORM_DIR
)/Makefile
29 include $(INCLUDE_DIR
)/kernel-version.mk
30 include $(INCLUDE_DIR
)/kernel-build.mk
31 PKG_VERSION
:=$(LINUX_VERSION
)
33 PKG_SOURCE
:=$(LINUX_SOURCE
)
36 PKG_SOURCE
:=$(LINUX_SOURCE
)
37 PKG_SOURCE_URL
:=$(LINUX_SITE
)
39 HOST_BUILD_DIR
:=$(KERNEL_BUILD_DIR
)/linux-
$(LINUX_VERSION
)
40 PKG_HASH
:=$(LINUX_KERNEL_HASH
)
41 LINUX_DIR
:= $(HOST_BUILD_DIR
)
43 PATCH_DIR
:= .
/patches
$(if
$(wildcard .
/patches-
$(LINUX_VERSION
)),-$(LINUX_VERSION
))
45 include $(INCLUDE_DIR
)/toolchain-build.mk
46 include $(INCLUDE_DIR
)/kernel-defaults.mk
48 ifeq ($(strip $(BOARD
)),uml
)
49 LINUX_KARCH
:=$(subst x86_64
,x86
,$(subst i386
,x86
,$(ARCH
)))
54 LINUX_HAS_HEADERS_INSTALL
:=y
56 HOST_KMAKE
:= $(MAKE
) -C
$(HOST_BUILD_DIR
) \
57 $(KERNEL_MAKE_FLAGS
) \
59 HOSTCFLAGS
="$(HOST_CFLAGS)"
61 define Host
/Configure
/all
62 mkdir
-p
$(BUILD_DIR_TOOLCHAIN
)/linux-dev
64 INSTALL_HDR_PATH
="$(BUILD_DIR_TOOLCHAIN)/linux-dev/" \
68 # XXX: the following is needed to build lzma-loader
69 ifneq ($(CONFIG_mips
)$(CONFIG_mipsel
),)
70 define Host
/Configure
/lzma
72 $(HOST_BUILD_DIR
)/arch
/mips
/include/asm
/asm.h \
73 $(HOST_BUILD_DIR
)/arch
/mips
/include/asm
/regdef.h \
74 $(HOST_BUILD_DIR
)/arch
/mips
/include/asm
/asm-eva.h \
75 $(BUILD_DIR_TOOLCHAIN
)/linux-dev
/include/asm
/
79 define Host
/Configure
/post
/mips
80 $(call Host
/Configure
/lzma
)
83 define Host
/Configure
/post
/mipsel
84 $(call Host
/Configure
/lzma
)
88 rm -rf
$(BUILD_DIR_TOOLCHAIN
)/linux-
*
89 $(call Kernel
/Prepare
/Default
)
90 rm -f
$(BUILD_DIR_TOOLCHAIN
)/linux
91 ln
-s linux-
$(LINUX_VERSION
) $(BUILD_DIR_TOOLCHAIN
)/linux
92 $(SED
) 's/@expr length/@-expr length/' $(HOST_BUILD_DIR
)/Makefile
96 yes
'' |
$(HOST_KMAKE
) oldconfig
97 $(call Host
/Configure
/all)
98 $(call Host
/Configure
/post
/$(ARCH
))
105 $(CP
) $(BUILD_DIR_TOOLCHAIN
)/linux-dev
/* $(TOOLCHAIN_DIR
)/
111 $(BUILD_DIR_TOOLCHAIN
)/linux \
112 $(BUILD_DIR_TOOLCHAIN
)/linux-dev
115 $(eval
$(call HostBuild
))