summaryrefslogtreecommitdiffstats
path: root/toolchain/kernel-headers/kernel-headers.mk
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/kernel-headers/kernel-headers.mk')
-rw-r--r--toolchain/kernel-headers/kernel-headers.mk51
1 files changed, 50 insertions, 1 deletions
diff --git a/toolchain/kernel-headers/kernel-headers.mk b/toolchain/kernel-headers/kernel-headers.mk
index bb7ee3c40..34a75e71c 100644
--- a/toolchain/kernel-headers/kernel-headers.mk
+++ b/toolchain/kernel-headers/kernel-headers.mk
@@ -13,7 +13,56 @@ LINUX_HEADERS_SITE:=127.0.0.1
LINUX_HEADERS_SOURCE:=unspecified-kernel-headers
LINUX_HEADERS_UNPACK_DIR:=$(TOOLCHAIN_DIR)/linux-libc-headers-null
-include toolchain/kernel-headers/kernel-headers-new.makefile
+# parse linux version string
+LNXVER:=$(subst ., , $(strip $(DEFAULT_KERNEL_HEADERS)))
+VERSION:=$(word 1, $(LNXVER))
+PATCHLEVEL:=$(word 2, $(LNXVER))
+SUBLEVEL:=$(word 3, $(LNXVER))
+EXTRAVERSION:=$(word 4, $(LNXVER))
+LOCALVERSION:=
+
+# should contain prepended dot
+SUBLEVEL:=$(if $(SUBLEVEL),.$(SUBLEVEL),)
+EXTRAVERSION:=$(if $(EXTRAVERSION),.$(EXTRAVERSION),)
+
+LINUX_HEADERS_VERSION:=$(VERSION).$(PATCHLEVEL)$(SUBLEVEL)$(EXTRAVERSION)
+LINUX_HEADERS_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v2.6/
+LINUX_HEADERS_SOURCE:=linux-$(LINUX_HEADERS_VERSION).tar.bz2
+LINUX_HEADERS_CAT:=$(BZCAT)
+LINUX_HEADERS_UNPACK_DIR:=$(TOOLCHAIN_DIR)/linux-$(LINUX_HEADERS_VERSION)
+LINUX_HEADERS_DIR:=$(TOOLCHAIN_DIR)/linux
+
+LINUX_HEADERS_DEPENDS:=
+
+$(LINUX_HEADERS_UNPACK_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
+ rm -rf $(LINUX_HEADERS_DIR)
+ $(INSTALL) -d $(@D)
+ $(LINUX_HEADERS_CAT) $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | \
+ tar $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
+ touch $@
+
+$(LINUX_HEADERS_UNPACK_DIR)/.patched: $(LINUX_HEADERS_UNPACK_DIR)/.unpacked $(LINUX_HEADERS_DEPENDS)
+ toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) toolchain/kernel-headers \
+ linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
+ifneq ($(KERNEL_HEADERS_PATCH_DIR),)
+ toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) $(KERNEL_HEADERS_PATCH_DIR) \
+ linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
+endif
+ touch $@
+
+$(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched
+ (cd $(LINUX_HEADERS_UNPACK_DIR); \
+ $(MAKE) ARCH=$(KERNEL_ARCH) \
+ HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
+ HOSTCXX="$(HOSTCXX)" \
+ INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) headers_install; \
+ )
+ifeq ($(BR2_ARCH),"cris")
+ ln -s $(LINUX_HEADERS_DIR)/include/arch-v10/arch $(LINUX_HEADERS_DIR)/include/arch
+ cp -a $(LINUX_HEADERS_UNPACK_DIR)/include/linux/user.h $(LINUX_HEADERS_DIR)/include/linux
+ $(SED) "/^#include <asm\/page\.h>/d" $(LINUX_HEADERS_DIR)/include/asm/user.h
+endif
+ touch $@
$(DL_DIR)/$(LINUX_HEADERS_SOURCE):
ifeq ($(BR2_KERNEL_HEADERS_SNAP),y)