kernel-headers.mk 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. #############################################################
  2. #
  3. # Setup the kernel headers. I include a generic package of
  4. # kernel headers here, so you shouldn't need to include your
  5. # own. Be aware these kernel headers _will_ get blown away
  6. # by a 'make clean' so don't put anything sacred in here...
  7. #
  8. #############################################################
  9. ifneq ($(filter $(TARGETS),kernel-headers),)
  10. DEFAULT_KERNEL_HEADERS:=$(strip $(DEFAULT_KERNEL_HEADERS))
  11. LINUX_SITE:=127.0.0.1
  12. LINUX_SOURCE:=unspecified-kernel-headers
  13. ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.4.25")
  14. VERSION:=2
  15. PATCHLEVEL:=4
  16. SUBLEVEL:=25
  17. LINUX_SITE:=http://www.uclibc.org/downloads/toolchain
  18. LINUX_SOURCE:=linux-libc-headers-2.4.25.tar.bz2
  19. LINUX_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.25
  20. endif
  21. ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.4.27")
  22. VERSION:=2
  23. PATCHLEVEL:=4
  24. SUBLEVEL:=25
  25. LINUX_SITE:=http://www.uclibc.org/downloads/toolchain
  26. LINUX_SOURCE:=linux-libc-headers-2.4.27.tar.bz2
  27. LINUX_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.27
  28. endif
  29. ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.7")
  30. VERSION:=2
  31. PATCHLEVEL:=6
  32. SUBLEVEL:=7
  33. LINUX_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
  34. LINUX_SOURCE:=linux-libc-headers-2.6.7.0.tar.bz2
  35. LINUX_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.7.0
  36. endif
  37. ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.8")
  38. VERSION:=2
  39. PATCHLEVEL:=6
  40. SUBLEVEL:=8
  41. LINUX_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
  42. LINUX_SOURCE:=linux-libc-headers-2.6.8.0.tar.bz2
  43. LINUX_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.8.0
  44. endif
  45. LINUX_VERSION:=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)
  46. LINUX_DIR:=$(TOOL_BUILD_DIR)/linux
  47. $(DL_DIR)/$(LINUX_SOURCE):
  48. mkdir -p $(DL_DIR)
  49. $(WGET) -P $(DL_DIR) $(LINUX_SITE)/$(LINUX_SOURCE)
  50. $(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE)
  51. mkdir -p $(TOOL_BUILD_DIR)
  52. bzcat $(DL_DIR)/$(LINUX_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
  53. ifneq ($(LINUX_UNPACK_DIR),$(LINUX_DIR))
  54. mv $(LINUX_UNPACK_DIR) $(LINUX_DIR)
  55. endif
  56. touch $(LINUX_DIR)/.unpacked
  57. $(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
  58. $(SOURCE_DIR)/patch-kernel.sh $(LINUX_DIR) $(SOURCE_DIR) linux-libc-headers-$(LINUX_VERSION)-\*.patch
  59. touch $(LINUX_DIR)/.patched
  60. $(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
  61. rm -f $(LINUX_DIR)/include/asm
  62. @if [ ! -f $(LINUX_DIR)/Makefile ] ; then \
  63. echo -e "VERSION = $(VERSION)\nPATCHLEVEL = $(PATCHLEVEL)\n" > \
  64. $(LINUX_DIR)/Makefile; \
  65. echo -e "SUBLEVEL = $(SUBLEVEL)\nEXTRAVERSION =\n" >> \
  66. $(LINUX_DIR)/Makefile; \
  67. echo -e "KERNELRELEASE=\$$(VERSION).\$$(PATCHLEVEL).\$$(SUBLEVEL)\$$(EXTRAVERSION)" >> \
  68. $(LINUX_DIR)/Makefile; \
  69. fi;
  70. @if [ "$(ARCH)" = "powerpc" ];then \
  71. (cd $(LINUX_DIR)/include; ln -fs asm-ppc$(NOMMU) asm;) \
  72. elif [ "$(ARCH)" = "mips" ];then \
  73. (cd $(LINUX_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \
  74. elif [ "$(ARCH)" = "mipsel" ];then \
  75. (cd $(LINUX_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \
  76. elif [ "$(ARCH)" = "arm" ];then \
  77. (cd $(LINUX_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \
  78. cd asm; \
  79. if [ ! -L proc ] ; then \
  80. ln -fs proc-armv proc; \
  81. ln -fs arch-ebsa285 arch; fi); \
  82. elif [ "$(ARCH)" = "armeb" ];then \
  83. (cd $(LINUX_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \
  84. cd asm; \
  85. if [ ! -L proc ] ; then \
  86. ln -fs proc-armv proc; \
  87. ln -fs arch-ebsa285 arch; fi); \
  88. elif [ "$(ARCH)" = "cris" ];then \
  89. (cd $(LINUX_DIR)/include; ln -fs asm-cris asm;) \
  90. else \
  91. (cd $(LINUX_DIR)/include; ln -fs asm-$(ARCH)$(NOMMU) asm;) \
  92. fi
  93. touch $(LINUX_DIR)/include/linux/autoconf.h;
  94. touch $(LINUX_DIR)/.configured
  95. $(LINUX_KERNEL): $(LINUX_DIR)/.configured
  96. kernel-headers: $(LINUX_DIR)/.configured
  97. kernel-headers-source: $(DL_DIR)/$(LINUX_SOURCE)
  98. kernel-headers-clean: clean
  99. rm -f $(LINUX_KERNEL)
  100. rm -rf $(LINUX_DIR)
  101. kernel-headers-dirclean:
  102. rm -rf $(LINUX_DIR)
  103. endif