2
1

udev.mk 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #############################################################
  2. #
  3. # udev
  4. #
  5. #############################################################
  6. UDEV_VERSION:=058
  7. UDEV_SOURCE:=udev-$(UDEV_VERSION).tar.bz2
  8. UDEV_SITE:=ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
  9. UDEV_CAT:=bzcat
  10. UDEV_DIR:=$(BUILD_DIR)/udev-$(UDEV_VERSION)
  11. UDEV_TARGET_BINARY:=sbin/udev
  12. UDEV_BINARY:=udev
  13. # UDEV_ROOT is /dev so we can replace devfs, not /udev for experiments
  14. UDEV_ROOT:=/dev
  15. $(DL_DIR)/$(UDEV_SOURCE):
  16. $(WGET) -P $(DL_DIR) $(UDEV_SITE)/$(UDEV_SOURCE)
  17. udev-source: $(DL_DIR)/$(UDEV_SOURCE)
  18. $(UDEV_DIR)/.unpacked: $(DL_DIR)/$(UDEV_SOURCE)
  19. $(UDEV_CAT) $(DL_DIR)/$(UDEV_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  20. toolchain/patch-kernel.sh $(UDEV_DIR) package/udev \*.patch
  21. touch $(UDEV_DIR)/.unpacked
  22. $(UDEV_DIR)/.configured: $(UDEV_DIR)/.unpacked
  23. touch $(UDEV_DIR)/.configured
  24. $(UDEV_DIR)/$(UDEV_BINARY): $(UDEV_DIR)/.configured
  25. $(MAKE) CROSS=$(TARGET_CROSS) GCC=$(TARGET_CC) \
  26. USE_LOG=false USE_SELINUX=false \
  27. udevdir=$(UDEV_ROOT) -C $(UDEV_DIR)
  28. touch -c $(UDEV_DIR)/$(UDEV_BINARY)
  29. # UDEV_CONF overrides default policies for device access control and naming;
  30. # default access controls prevent non-root tasks from running. Many of the
  31. # rule files rely on PROGRAM invocations (e.g. extra /etc/udev/scripts);
  32. # for now we'll avoid having buildroot systems rely on them.
  33. UDEV_CONF:=etc/udev/frugalware/udev.rules
  34. $(TARGET_DIR)/$(UDEV_TARGET_BINARY): $(UDEV_DIR)/$(UDEV_BINARY)
  35. -mkdir $(TARGET_DIR)/sys
  36. install -D -m 0644 $(UDEV_DIR)/$(UDEV_CONF) \
  37. $(TARGET_DIR)/etc/udev/rules.d/50-udev.rules
  38. $(MAKE) CROSS=$(TARGET_CROSS) GCC=$(TARGET_CC) DESTDIR=$(TARGET_DIR) \
  39. USE_LOG=false USE_SELINUX=false \
  40. udevdir=$(UDEV_ROOT) -C $(UDEV_DIR) install
  41. $(INSTALL) -m 0755 -D package/udev/init-udev $(TARGET_DIR)/etc/init.d/S10udev
  42. udev: uclibc $(TARGET_DIR)/$(UDEV_TARGET_BINARY)
  43. udev-clean:
  44. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(UDEV_DIR) uninstall
  45. -$(MAKE) -C $(UDEV_DIR) clean
  46. udev-dirclean:
  47. rm -rf $(UDEV_DIR)
  48. #############################################################
  49. #
  50. # Toplevel Makefile options
  51. #
  52. #############################################################
  53. ifeq ($(strip $(BR2_PACKAGE_UDEV)),y)
  54. TARGETS+=udev
  55. endif