diff options
Diffstat (limited to 'toolchain/kernel-headers/kernel-headers.mk')
-rw-r--r-- | toolchain/kernel-headers/kernel-headers.mk | 51 |
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) |