udev.mk 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #############################################################
  2. #
  3. # udev
  4. #
  5. #############################################################
  6. UDEV_VERSION:=114
  7. UDEV_VOLUME_ID_CURRENT:=0
  8. UDEV_VOLUME_ID_AGE:=79
  9. UDEV_VOLUME_ID_REVISION:=0
  10. UDEV_VOLUME_ID_VERSION:=$(UDEV_VOLUME_ID_CURRENT).$(UDEV_VOLUME_ID_AGE).$(UDEV_VOLUME_ID_REVISION)
  11. UDEV_SOURCE:=udev-$(UDEV_VERSION).tar.bz2
  12. UDEV_SITE:=$(BR2_KERNEL_MIRROR)/linux/utils/kernel/hotplug/
  13. UDEV_INSTALL_STAGING=YES
  14. # 094 had _GNU_SOURCE set
  15. BR2_UDEV_CFLAGS:= -D_GNU_SOURCE $(TARGET_CFLAGS)
  16. ifeq ($(BR2_LARGEFILE),)
  17. BR2_UDEV_CFLAGS+=-U_FILE_OFFSET_BITS
  18. endif
  19. # UDEV_ROOT is /dev so we can replace devfs, not /udev for experiments
  20. UDEV_ROOT:=/dev
  21. UDEV_EXTRAS=
  22. ifeq ($(BR2_PACKAGE_UDEV_VOLUME_ID),y)
  23. UDEV_EXTRAS+=volume_id
  24. endif
  25. ifeq ($(BR2_PACKAGE_UDEV_SCSI_ID),y)
  26. UDEV_EXTRAS+=scsi_id
  27. UDEV_EXTRAS+=usb_id
  28. endif
  29. ifeq ($(BR2_PACKAGE_UDEV_PATH_ID),y)
  30. UDEV_EXTRAS+=path_id
  31. endif
  32. ifeq ($(BR2_PACKAGE_UDEV_FIRMWARE_SH),y)
  33. UDEV_EXTRAS+=firmware
  34. endif
  35. UDEV_BUILD_EXTRAS=$(addprefix extras/,$(UDEV_EXTRAS))
  36. #
  37. # Build
  38. #
  39. define UDEV_BUILD_CMDS
  40. $(MAKE) CROSS_COMPILE=$(TARGET_CROSS) CC="$(TARGET_CC)" LD="$(TARGET_CC)"\
  41. CFLAGS="$(BR2_UDEV_CFLAGS)" \
  42. USE_LOG=false USE_SELINUX=false \
  43. udevdir=$(UDEV_ROOT) EXTRAS="$(UDEV_BUILD_EXTRAS)" -C $(@D)
  44. endef
  45. #
  46. # Staging installation
  47. #
  48. ifeq ($(BR2_PACKAGE_UDEV_VOLUME_ID),y)
  49. define UDEV_VOLUME_ID_STAGING_INSTALL_CMDS
  50. $(INSTALL) -m 0644 -D $(UDEV_DIR)/extras/volume_id/lib/libvolume_id.h $(STAGING_DIR)/usr/include/libvolume_id.h
  51. $(INSTALL) -m 0755 -D $(UDEV_DIR)/extras/volume_id/lib/libvolume_id.so.$(UDEV_VOLUME_ID_VERSION) $(STAGING_DIR)/lib/libvolume_id.so.$(UDEV_VOLUME_ID_VERSION)
  52. -ln -sf libvolume_id.so.$(UDEV_VOLUME_ID_VERSION) $(STAGING_DIR)/lib/libvolume_id.so.0
  53. -ln -sf libvolume_id.so.$(UDEV_VOLUME_ID_VERSION) $(STAGING_DIR)/lib/libvolume_id.so
  54. $(INSTALL) -m 0755 -D package/udev/libvolume_id.la.tmpl $(STAGING_DIR)/lib/libvolume_id.la
  55. $(SED) 's/REPLACE_CURRENT/$(UDEV_VOLUME_ID_CURRENT)/g' $(STAGING_DIR)/lib/libvolume_id.la
  56. $(SED) 's/REPLACE_AGE/$(UDEV_VOLUME_ID_AGE)/g' $(STAGING_DIR)/lib/libvolume_id.la
  57. $(SED) 's/REPLACE_REVISION/$(UDEV_VOLUME_ID_REVISION)/g' $(STAGING_DIR)/lib/libvolume_id.la
  58. $(SED) 's,REPLACE_LIB_DIR,$(STAGING_DIR)/usr/lib,g' $(STAGING_DIR)/lib/libvolume_id.la
  59. endef
  60. endif
  61. define UDEV_INSTALL_STAGING_CMDS
  62. $(UDEV_VOLUME_ID_STAGING_INSTALL_CMDS)
  63. endef
  64. #
  65. # Target installation
  66. #
  67. ifneq ($(BR2_PACKAGE_UDEV_UTILS),y)
  68. define UDEV_UTILS_REMOVAL
  69. rm -f $(TARGET_DIR)/usr/sbin/udevmonitor
  70. rm -f $(TARGET_DIR)/usr/bin/udevinfo
  71. rm -f $(TARGET_DIR)/usr/bin/udevtest
  72. endef
  73. endif
  74. define UDEV_INSTALL_TARGET_CMDS
  75. mkdir -p $(TARGET_DIR)/sys
  76. $(MAKE) $(TARGET_CONFIGURE_OPTS) \
  77. DESTDIR=$(TARGET_DIR) \
  78. CFLAGS="$(BR2_UDEV_CFLAGS)" \
  79. LDFLAGS="-warn-common" \
  80. USE_LOG=false USE_SELINUX=false \
  81. udevdir=$(UDEV_ROOT) EXTRAS="$(UDEV_BUILD_EXTRAS)" -C $(@D) install
  82. $(INSTALL) -m 0755 -D package/udev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
  83. $(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/udev/rules.d
  84. $(INSTALL) -m 0644 $(@D)/etc/udev/frugalware/* $(TARGET_DIR)/etc/udev/rules.d
  85. ( grep udev_root $(TARGET_DIR)/etc/udev/udev.conf > /dev/null 2>&1 || echo 'udev_root=/dev' >> $(TARGET_DIR)/etc/udev/udev.conf )
  86. install -m 0755 -D $(@D)/udevstart $(TARGET_DIR)/sbin/udevstart
  87. for i in $(TARGET_DIR)/sbin/udev* $(TARGET_DIR)/usr/bin/udev* ; do \
  88. $(STRIPCMD) $(STRIP_STRIP_ALL) $$i ; \
  89. done
  90. for i in scsi_id usb_id vol_id ; do \
  91. if test -e $(TARGET_DIR)/lib/udev/$$i ; then \
  92. $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/lib/udev/$$i ; \
  93. fi \
  94. done
  95. $(UDEV_UTILS_REMOVAL)
  96. endef
  97. #
  98. # Clean
  99. #
  100. define UDEV_CLEAN_CMDS
  101. -$(MAKE) EXTRAS="$(UDEV_BUILD_EXTRAS)" -C $(@D) clean
  102. endef
  103. #
  104. # Staging uninstall
  105. #
  106. define UDEV_UNINSTALL_STAGING_CMDS
  107. rm -f $(STAGING_DIR)/usr/include/libvolume_id.h
  108. rm -f $(STAGING_DIR)/lib/libvolume_id.so*
  109. rm -f $(STAGING_DIR)/lib/libvolume_id.la
  110. endef
  111. #
  112. # Target uninstall
  113. #
  114. define UDEV_UNINSTALL_TARGET_CMDS
  115. rm -f $(TARGET_DIR)/etc/init.d/S10udev $(TARGET_DIR)/sbin/udev*
  116. rm -f $(TARGET_DIR)/usr/sbin/udevmonitor $(TARGET_DIR)/usr/bin/udev*
  117. rm -fr $(TARGET_DIR)/sys
  118. rm -f $(TARGET_DIR)/lib/libvolume_id.so.0*
  119. rm -rf $(TARGET_DIR)/lib/udev
  120. endef
  121. $(eval $(call GENTARGETS,package,udev))