modutils.mk 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #############################################################
  2. #
  3. # modutils
  4. #
  5. #############################################################
  6. MODUTILS_SOURCE=modutils-2.4.27.tar.bz2
  7. MODUTILS_SITE=http://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. $(MAKE1) CC=$(TARGET_CC) -C $(MODUTILS_DIR1)
  39. touch -c $(MODUTILS_DIR1)/$(MODUTILS_BINARY)
  40. $(TARGET_DIR)/$(MODUTILS_TARGET_BINARY): $(MODUTILS_DIR1)/$(MODUTILS_BINARY)
  41. STRIPPROG='$(STRIPPROG)' \
  42. $(MAKE) prefix=$(TARGET_DIR) -C $(MODUTILS_DIR1) install-bin
  43. rm -Rf $(TARGET_DIR)/usr/man
  44. touch -c $(TARGET_DIR)/$(MODUTILS_TARGET_BINARY)
  45. modutils: uclibc $(TARGET_DIR)/$(MODUTILS_TARGET_BINARY)
  46. modutils-source: $(DL_DIR)/$(MODUTILS_SOURCE)
  47. modutils-clean:
  48. $(MAKE) prefix=$(TARGET_DIR)/usr -C $(MODUTILS_DIR1) uninstall
  49. -$(MAKE) -C $(MODUTILS_DIR1) clean
  50. modutils-dirclean:
  51. rm -rf $(MODUTILS_DIR1)
  52. #############################################################
  53. #
  54. # build modutils for use on the host system
  55. #
  56. #############################################################
  57. ifeq ($(strip $(BR2_mips)),y)
  58. DEPMOD_EXTRA_STUFF=CFLAGS=-D__MIPSEB__
  59. endif
  60. ifeq ($(strip $(BR2_mipsel)),y)
  61. DEPMOD_EXTRA_STUFF=CFLAGS=-D__MIPSEL__
  62. endif
  63. $(MODUTILS_DIR2)/.source: $(DL_DIR)/$(MODUTILS_SOURCE)
  64. bzcat $(DL_DIR)/$(MODUTILS_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
  65. toolchain/patch-kernel.sh $(MODUTILS_DIR2) \
  66. package/modutils \*.patch
  67. touch $(MODUTILS_DIR2)/.source
  68. $(MODUTILS_DIR2)/.configured: $(MODUTILS_DIR2)/.source
  69. (cd $(MODUTILS_DIR2); \
  70. ./configure $(DEPMOD_EXTRA_STUFF) \
  71. --target=$(GNU_TARGET_NAME) \
  72. --host=$(GNU_HOST_NAME) \
  73. --build=$(GNU_HOST_NAME) \
  74. --prefix=/ \
  75. --sysconfdir=/etc \
  76. );
  77. touch $(MODUTILS_DIR2)/.configured;
  78. $(MODUTILS_DIR2)/$(MODUTILS_BINARY): $(MODUTILS_DIR2)/.configured
  79. $(MAKE1) -C $(MODUTILS_DIR2)
  80. touch -c $(MODUTILS_DIR2)/$(MODUTILS_BINARY)
  81. $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-depmod: $(MODUTILS_DIR2)/$(MODUTILS_BINARY)
  82. cp $(MODUTILS_DIR2)/$(MODUTILS_BINARY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-depmod
  83. touch -c $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-depmod
  84. cross-depmod: uclibc $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-depmod
  85. cross-depmod-source: $(DL_DIR)/$(MODUTILS_SOURCE)
  86. cross-depmod-clean:
  87. $(MAKE) prefix=$(TARGET_DIR)/usr -C $(MODUTILS_DIR2) uninstall
  88. -$(MAKE) -C $(MODUTILS_DIR2) clean
  89. cross-depmod-dirclean:
  90. rm -rf $(MODUTILS_DIR2)
  91. #############################################################
  92. #
  93. ## Toplevel Makefile options
  94. #
  95. ##############################################################
  96. ifeq ($(strip $(BR2_PACKAGE_MODUTILS)),y)
  97. TARGETS+=modutils
  98. endif