aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/udev/Config.in11
-rw-r--r--package/udev/udev.mk56
2 files changed, 67 insertions, 0 deletions
diff --git a/package/udev/Config.in b/package/udev/Config.in
index b97ff57862..6438d4f0a0 100644
--- a/package/udev/Config.in
+++ b/package/udev/Config.in
@@ -27,4 +27,15 @@ config BR2_PACKAGE_UDEV_SCSI_ID
help
Build and install SCSI disk identification library.
+config BR2_PACKAGE_UDEV_PATH_ID
+ bool "udev-path_id"
+ depends on BR2_PACKAGE_UDEV_VOLUME_ID
+ help
+ Install udev's unique device path generation program path_id.
+
+config BR2_PACKAGE_UDEV_FIRMWARE_SH
+ bool "udev-firmware_sh"
+ depends on BR2_PACKAGE_UDEV_VOLUME_ID
+ help
+ Install udev's firmware loading script firmware.sh.
endmenu
diff --git a/package/udev/udev.mk b/package/udev/udev.mk
index 434ade234b..c4c5e36cf6 100644
--- a/package/udev/udev.mk
+++ b/package/udev/udev.mk
@@ -154,6 +154,54 @@ UDEV_CLEAN_DEPS+=udev-scsi_id-clean
UDEV_DIRCLEAN_DEPS+=udev-scsi_id-dirclean
endif
+#####################################################################
+ifeq ($(BR2_PACKAGE_UDEV_PATH_ID),y)
+.PHONY: udev-path_id udev-path_id-clean udev-path_id-dirclean
+
+$(TARGET_DIR)/lib/udev/path_id: $(STAGING_DIR)/usr/lib/libvolume_id.so.$(UDEV_VOLUME_ID_VERSION)
+ $(MAKE) CROSS_COMPILE=$(TARGET_CROSS) \
+ CFLAGS="$(BR2_UDEV_CFLAGS)" \
+ USE_LOG=false USE_SELINUX=false \
+ udevdir=$(UDEV_ROOT) EXTRAS="extras/path_id" -C $(UDEV_DIR)
+ $(INSTALL) -m 0755 -D $(UDEV_DIR)/extras/path_id/path_id $@
+
+udev-path_id: udev $(TARGET_DIR)/lib/udev/path_id
+
+udev-path_id-clean:
+ rm -f $(TARGET_DIR)/lib/udev/path_id
+ rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/lib/udev
+
+udev-path_id-dirclean:
+ -$(MAKE) EXTRAS="extras/path_id" -C $(UDEV_DIR) clean
+
+UDEV_CLEAN_DEPS+=udev-path_id-clean
+UDEV_DIRCLEAN_DEPS+=udev-path_id-dirclean
+endif
+
+#####################################################################
+ifeq ($(BR2_PACKAGE_UDEV_FIRMWARE_SH),y)
+.PHONY: udev-firmware_sh udev-firmware_sh-clean udev-firmware_sh-dirclean
+
+$(TARGET_DIR)/lib/udev/firmware.sh: $(STAGING_DIR)/usr/lib/libvolume_id.so.$(UDEV_VOLUME_ID_VERSION)
+ $(MAKE) CROSS_COMPILE=$(TARGET_CROSS) \
+ CFLAGS="$(BR2_UDEV_CFLAGS)" \
+ USE_LOG=false USE_SELINUX=false \
+ udevdir=$(UDEV_ROOT) EXTRAS="extras/firmware" -C $(UDEV_DIR)
+ $(INSTALL) -m 0755 -D $(UDEV_DIR)/extras/firmware/firmware.sh $@
+
+udev-firmware_sh: udev $(TARGET_DIR)/lib/udev/firmware.sh
+
+udev-firmware_sh-clean:
+ rm -f $(TARGET_DIR)/lib/udev/firmware.sh
+ rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/lib/udev
+
+udev-firmware_sh-dirclean:
+ -$(MAKE) EXTRAS="extras/firmware" -C $(UDEV_DIR) clean
+
+UDEV_CLEAN_DEPS+=udev-firmware_sh-clean
+UDEV_DIRCLEAN_DEPS+=udev-firmware_sh-dirclean
+endif
+
#############################################################
#
# Toplevel Makefile options
@@ -170,3 +218,11 @@ endif
ifeq ($(BR2_PACKAGE_UDEV_SCSI_ID),y)
TARGETS+=udev-scsi_id
endif
+
+ifeq ($(BR2_PACKAGE_UDEV_PATH_ID),y)
+TARGETS+=udev-path_id
+endif
+
+ifeq ($(BR2_PACKAGE_UDEV_FIRMWARE_SH),y)
+TARGETS+=udev-firmware_sh
+endif