kernel-headers-new.makefile 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #############################################################
  2. #
  3. # full kernel tarballs >= 2.6.19.1
  4. #
  5. #############################################################
  6. # new-style kernels?
  7. ifeq ($(LINUX_HEADERS_VERSION),)
  8. # parse linux version string
  9. LNXVER:=$(subst ., , $(strip $(DEFAULT_KERNEL_HEADERS)))
  10. VERSION:=$(word 1, $(LNXVER))
  11. PATCHLEVEL:=$(word 2, $(LNXVER))
  12. SUBLEVEL:=$(word 3, $(LNXVER))
  13. EXTRAVERSION:=$(word 4, $(LNXVER))
  14. LOCALVERSION:=
  15. # should contain prepended dot
  16. EXTRAVERSION:=$(if $(EXTRAVERSION),.$(EXTRAVERSION),)
  17. LINUX_HEADERS_VERSION:=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
  18. LINUX_HEADERS_SITE:=http://www.kernel.org/pub/linux/kernel/v2.6/
  19. LINUX_HEADERS_SOURCE:=linux-$(LINUX_HEADERS_VERSION).tar.bz2
  20. LINUX_HEADERS_CAT:=$(BZCAT)
  21. LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-$(LINUX_HEADERS_VERSION)
  22. LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
  23. LINUX_HEADERS_IS_KERNEL=y
  24. endif
  25. ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.6.22.1")
  26. LINUX_RT_VERSION:=rt9
  27. endif
  28. ifeq ("$(DEFAULT_KERNEL_HEADERS)","2.6.21.5")
  29. LINUX_RT_VERSION:=rt20
  30. endif
  31. ifeq ($(LINUX_HEADERS_IS_KERNEL),y)
  32. # Need to redefine KERNEL_HEADERS_PATCH_DIR if you want
  33. # board specific kernel headers
  34. KERNEL_HEADERS_PATCH_DIR:=toolchain/kernel-headers/empty
  35. LINUX_HEADERS_DEPENDS:=
  36. ifeq ($(BR2_KERNEL_HEADERS_RT),y)
  37. LINUX_RT_SOURCE:=patch-$(LINUX_HEADERS_VERSION)-$(LINUX_RT_VERSION)
  38. LINUX_RT_SITE:=http://www.kernel.org/pub/linux/kernel/projects/rt/older/
  39. LINUX_HEADERS_DEPENDS+=$(DL_DIR)/$(LINUX_RT_SOURCE)
  40. $(DL_DIR)/$(LINUX_RT_SOURCE):
  41. $(WGET) -P $(DL_DIR) $(LINUX_RT_SITE)/$(LINUX_RT_SOURCE)
  42. endif
  43. $(LINUX_HEADERS_UNPACK_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
  44. @echo "*** Using kernel-headers generated from kernel source"
  45. rm -rf $(LINUX_HEADERS_DIR)
  46. [ -d $(TOOL_BUILD_DIR) ] || $(INSTALL) -d $(TOOL_BUILD_DIR)
  47. $(LINUX_HEADERS_CAT) $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
  48. touch $@
  49. $(LINUX_HEADERS_UNPACK_DIR)/.patched: $(LINUX_HEADERS_UNPACK_DIR)/.unpacked $(LINUX_HEADERS_DEPENDS)
  50. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) toolchain/kernel-headers \
  51. linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
  52. ifeq ($(BR2_KERNEL_HEADERS_IPMI),y)
  53. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) toolchain/kernel-headers/ipmi \
  54. linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
  55. endif
  56. ifeq ($(BR2_KERNEL_HEADERS_LZMA),y)
  57. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) toolchain/kernel-headers/lzma \
  58. linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
  59. endif
  60. ifeq ($(BR2_KERNEL_HEADERS_RT),y)
  61. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) $(DL_DIR) $(LINUX_RT_SOURCE)
  62. endif
  63. ifeq ($(BR2_KERNEL_HEADERS_PATCH_DIR),y)
  64. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) $(KERNEL_HEADERS_PATCH_DIR) \
  65. \*.patch{,.gz,.bz2}
  66. endif
  67. ifeq ($(BR2_PACKAGE_OPENSWAN),y)
  68. toolchain/patch-kernel.sh $(LINUX_HEADERS_UNPACK_DIR) package/openswan \
  69. linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2}
  70. endif
  71. touch $@
  72. $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched
  73. (cd $(LINUX_HEADERS_UNPACK_DIR); \
  74. $(MAKE) ARCH=$(KERNEL_ARCH) \
  75. HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
  76. HOSTCXX="$(HOSTCXX)" \
  77. INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) headers_install; \
  78. )
  79. touch $@
  80. endif