kernel-headers-new.makefile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #############################################################
  2. #
  3. # full kernel tarballs >= 2.6.19.1
  4. #
  5. #############################################################
  6. # parse linux version string
  7. LNXVER:=$(subst ., , $(strip $(DEFAULT_KERNEL_HEADERS)))
  8. VERSION:=$(word 1, $(LNXVER))
  9. PATCHLEVEL:=$(word 2, $(LNXVER))
  10. SUBLEVEL:=$(word 3, $(LNXVER))
  11. EXTRAVERSION:=$(word 4, $(LNXVER))
  12. LOCALVERSION:=
  13. # should contain prepended dot
  14. EXTRAVERSION:=$(if $(EXTRAVERSION),.$(EXTRAVERSION),)
  15. LINUX_HEADERS_VERSION:=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
  16. LINUX_HEADERS_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/v2.6/
  17. LINUX_HEADERS_SOURCE:=linux-$(LINUX_HEADERS_VERSION).tar.bz2
  18. LINUX_HEADERS_CAT:=$(BZCAT)
  19. LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-$(LINUX_HEADERS_VERSION)
  20. LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
  21. ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.6.24.7")
  22. LINUX_RT_VERSION:=rt27
  23. endif
  24. ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.6.26.8")
  25. LINUX_RT_VERSION:=rt16
  26. endif
  27. LINUX_HEADERS_DEPENDS:=
  28. ifeq ($(BR2_KERNEL_HEADERS_RT),y)
  29. LINUX_RT_SOURCE:=patch-$(LINUX_HEADERS_VERSION)-$(LINUX_RT_VERSION)
  30. LINUX_RT_SITE:=$(BR2_KERNEL_MIRROR)/linux/kernel/projects/rt
  31. LINUX_HEADERS_DEPENDS+=$(DL_DIR)/$(LINUX_RT_SOURCE)
  32. $(DL_DIR)/$(LINUX_RT_SOURCE):
  33. $(call DOWNLOAD,$(LINUX_RT_SITE),$(LINUX_RT_SOURCE))
  34. endif
  35. $(LINUX_HEADERS_UNPACK_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
  36. @echo "*** Using kernel-headers generated from kernel source"
  37. rm -rf $(LINUX_HEADERS_DIR)
  38. [ -d $(TOOL_BUILD_DIR) ] || $(INSTALL) -d $(TOOL_BUILD_DIR)
  39. $(LINUX_HEADERS_CAT) $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
  40. touch $@
  41. $(LINUX_HEADERS_UNPACK_DIR)/.patched: $(LINUX_HEADERS_UNPACK_DIR)/.unpacked $(LINUX_HEADERS_DEPENDS)
  42. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) toolchain/kernel-headers \
  43. linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
  44. ifeq ($(BR2_KERNEL_HEADERS_RT),y)
  45. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) $(DL_DIR) $(LINUX_RT_SOURCE)
  46. endif
  47. ifneq ($(KERNEL_HEADERS_PATCH_DIR),)
  48. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) $(KERNEL_HEADERS_PATCH_DIR) \
  49. linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
  50. endif
  51. ifeq ($(BR2_PACKAGE_OPENSWAN),y)
  52. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) package/openswan \
  53. linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
  54. endif
  55. touch $@
  56. $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched
  57. (cd $(LINUX_HEADERS_UNPACK_DIR); \
  58. $(MAKE) ARCH=$(KERNEL_ARCH) \
  59. HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
  60. HOSTCXX="$(HOSTCXX)" \
  61. INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) headers_install; \
  62. )
  63. ifeq ($(BR2_ARCH),"cris")
  64. ln -s $(LINUX_HEADERS_DIR)/include/arch-v10/arch $(LINUX_HEADERS_DIR)/include/arch
  65. cp -a $(LINUX_HEADERS_UNPACK_DIR)/include/linux/user.h $(LINUX_HEADERS_DIR)/include/linux
  66. $(SED) "/^#include <asm\/page\.h>/d" $(LINUX_HEADERS_DIR)/include/asm/user.h
  67. endif
  68. touch $@