kernel-headers.mk 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. VERSION=2
  11. PATCHLEVEL=4
  12. SUBLEVEL=25
  13. LINUX_SITE:=http://www.uclibc.org/downloads/toolchain
  14. LINUX_SOURCE:=kernel-headers-2.4.25.tar.bz2
  15. LINUX_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux
  16. # Uncomment this for 2.6.x kernel header files
  17. #VERSION=2
  18. #PATCHLEVEL=6
  19. #SUBLEVEL=5
  20. #LINUX_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
  21. #LINUX_SOURCE:=linux-libc-headers-2.6.5.0.tar.bz2
  22. #LINUX_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.5.0
  23. LINUX_DIR:=$(TOOL_BUILD_DIR)/linux
  24. $(DL_DIR)/$(LINUX_SOURCE):
  25. $(WGET) -P $(DL_DIR) $(LINUX_SITE)/$(LINUX_SOURCE)
  26. $(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE)
  27. mkdir -p $(TOOL_BUILD_DIR)
  28. bzcat $(DL_DIR)/$(LINUX_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
  29. ifneq ($(LINUX_UNPACK_DIR),$(LINUX_DIR))
  30. mv $(LINUX_UNPACK_DIR) $(LINUX_DIR)
  31. endif
  32. touch $(LINUX_DIR)/.unpacked
  33. $(LINUX_DIR)/.configured: $(LINUX_DIR)/.unpacked
  34. rm -f $(LINUX_DIR)/include/asm
  35. @if [ ! -f $(LINUX_DIR)/Makefile ] ; then \
  36. echo -e "VERSION = $(VERSION)\nPATCHLEVEL = $(PATCHLEVEL)\n" > \
  37. $(LINUX_DIR)/Makefile; \
  38. echo -e "SUBLEVEL = $(SUBLEVEL)\nEXTRAVERSION =\n" > \
  39. $(LINUX_DIR)/Makefile; \
  40. echo -e "KERNELRELEASE=\$$(VERSION).\$$(PATCHLEVEL).\$$(SUBLEVEL)\$$(EXTRAVERSION)" >> \
  41. $(LINUX_DIR)/Makefile; \
  42. fi;
  43. @if [ "$(ARCH)" = "powerpc" ];then \
  44. (cd $(LINUX_DIR)/include; ln -fs asm-ppc$(NOMMU) asm;) \
  45. elif [ "$(ARCH)" = "mips" ];then \
  46. (cd $(LINUX_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \
  47. elif [ "$(ARCH)" = "mipsel" ];then \
  48. (cd $(LINUX_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \
  49. elif [ "$(ARCH)" = "arm" ];then \
  50. (cd $(LINUX_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \
  51. cd asm; \
  52. if [ ! -L proc ] ; then \
  53. ln -fs proc-armv proc; \
  54. ln -fs arch-ebsa285 arch; fi); \
  55. elif [ "$(ARCH)" = "cris" ];then \
  56. (cd $(LINUX_DIR)/include; ln -fs asm-cris asm;) \
  57. else \
  58. (cd $(LINUX_DIR)/include; ln -fs asm-$(ARCH)$(NOMMU) asm;) \
  59. fi
  60. touch $(LINUX_DIR)/include/linux/autoconf.h;
  61. touch $(LINUX_DIR)/.configured
  62. $(LINUX_KERNEL): $(LINUX_DIR)/.configured
  63. kernel-headers: $(LINUX_DIR)/.configured
  64. kernel-headers-source: $(DL_DIR)/$(LINUX_SOURCE)
  65. kernel-headers-clean: clean
  66. rm -f $(LINUX_KERNEL)
  67. rm -rf $(LINUX_DIR)
  68. kernel-headers-dirclean:
  69. rm -rf $(LINUX_DIR)
  70. endif