modutils.mk 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #############################################################
  2. #
  3. # modutils
  4. #
  5. #############################################################
  6. MODUTILS_SOURCE=modutils-2.4.27.tar.bz2
  7. MODUTILS_SITE=ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.4/
  8. MODUTILS_DIR1=$(BUILD_DIR)/modutils-2.4.27
  9. MODUTILS_DIR2=$(TOOL_BUILD_DIR)/modutils-2.4.27
  10. MODUTILS_BINARY=depmod/depmod
  11. MODUTILS_TARGET_BINARY=$(TARGET_DIR)/sbin/$(MODUTILS_BINARY)
  12. STRIPPROG=$(STRIP)
  13. $(DL_DIR)/$(MODUTILS_SOURCE):
  14. $(WGET) -P $(DL_DIR) $(MODUTILS_SITE)/$(MODUTILS_SOURCE)
  15. #############################################################
  16. #
  17. # build modutils for use on the target system
  18. #
  19. #############################################################
  20. $(MODUTILS_DIR1)/.source: $(DL_DIR)/$(MODUTILS_SOURCE)
  21. bzcat $(DL_DIR)/$(MODUTILS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
  22. toolchain/patch-kernel.sh $(MODUTILS_DIR1) \
  23. package/modutils \*.patch
  24. touch $(MODUTILS_DIR1)/.source
  25. $(MODUTILS_DIR1)/.configured: $(MODUTILS_DIR1)/.source
  26. (cd $(MODUTILS_DIR1); \
  27. $(TARGET_CONFIGURE_OPTS) \
  28. INSTALL=$(MODUTILS_DIR1)/install-sh \
  29. ./configure \
  30. --target=$(GNU_TARGET_NAME) \
  31. --host=$(GNU_TARGET_NAME) \
  32. --build=$(GNU_HOST_NAME) \
  33. --prefix=/ \
  34. --sysconfdir=/etc \
  35. );
  36. touch $(MODUTILS_DIR1)/.configured;
  37. $(MODUTILS_DIR1)/$(MODUTILS_BINARY): $(MODUTILS_DIR1)/.configured
  38. $(MAKE) CC=$(TARGET_CC) -C $(MODUTILS_DIR1)
  39. $(TARGET_DIR)/$(MODUTILS_TARGET_BINARY): $(MODUTILS_DIR1)/$(MODUTILS_BINARY)
  40. STRIPPROG='$(STRIPPROG)' \
  41. $(MAKE) prefix=$(TARGET_DIR) -C $(MODUTILS_DIR1) install-bin
  42. rm -Rf $(TARGET_DIR)/usr/man
  43. modutils: uclibc $(TARGET_DIR)/$(MODUTILS_TARGET_BINARY)
  44. modutils-source: $(DL_DIR)/$(MODUTILS_SOURCE)
  45. modutils-clean:
  46. $(MAKE) prefix=$(TARGET_DIR)/usr -C $(MODUTILS_DIR1) uninstall
  47. -$(MAKE) -C $(MODUTILS_DIR1) clean
  48. modutils-dirclean:
  49. rm -rf $(MODUTILS_DIR1)
  50. #############################################################
  51. #
  52. # build modutils for use on the host system
  53. #
  54. #############################################################
  55. ifeq ($(strip $(BR2_mips)),y)
  56. DEPMOD_EXTRA_STUFF=CFLAGS=-D__MIPSEB__
  57. endif
  58. ifeq ($(strip $(BR2_mipsel)),y)
  59. DEPMOD_EXTRA_STUFF=CFLAGS=-D__MIPSEL__
  60. endif
  61. $(MODUTILS_DIR2)/.source: $(DL_DIR)/$(MODUTILS_SOURCE)
  62. bzcat $(DL_DIR)/$(MODUTILS_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
  63. toolchain/patch-kernel.sh $(MODUTILS_DIR2) \
  64. package/modutils \*.patch
  65. touch $(MODUTILS_DIR2)/.source
  66. $(MODUTILS_DIR2)/.configured: $(MODUTILS_DIR2)/.source
  67. (cd $(MODUTILS_DIR2); \
  68. ./configure $(DEPMOD_EXTRA_STUFF) \
  69. --target=$(GNU_TARGET_NAME) \
  70. --host=$(GNU_HOST_NAME) \
  71. --build=$(GNU_HOST_NAME) \
  72. --prefix=/ \
  73. --sysconfdir=/etc \
  74. );
  75. touch $(MODUTILS_DIR2)/.configured;
  76. $(MODUTILS_DIR2)/$(MODUTILS_BINARY): $(MODUTILS_DIR2)/.configured
  77. $(MAKE) -C $(MODUTILS_DIR2)
  78. $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-depmod: $(MODUTILS_DIR2)/$(MODUTILS_BINARY)
  79. cp $(MODUTILS_DIR2)/$(MODUTILS_BINARY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-depmod
  80. cross-depmod: uclibc $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-depmod
  81. cross-depmod-source: $(DL_DIR)/$(MODUTILS_SOURCE)
  82. cross-depmod-clean:
  83. $(MAKE) prefix=$(TARGET_DIR)/usr -C $(MODUTILS_DIR2) uninstall
  84. -$(MAKE) -C $(MODUTILS_DIR2) clean
  85. cross-depmod-dirclean:
  86. rm -rf $(MODUTILS_DIR2)
  87. #############################################################
  88. #
  89. ## Toplevel Makefile options
  90. #
  91. ##############################################################
  92. ifeq ($(strip $(BR2_PACKAGE_MODUTILS)),y)
  93. TARGETS+=modutils
  94. endif