xref: /OK3568_Linux_fs/buildroot/package/eudev/eudev.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# eudev
4#
5################################################################################
6
7EUDEV_VERSION = 3.2.10
8EUDEV_SITE = http://dev.gentoo.org/~blueness/eudev
9EUDEV_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries)
10EUDEV_LICENSE_FILES = COPYING
11EUDEV_INSTALL_STAGING = YES
12
13EUDEV_CONF_OPTS = \
14	--disable-manpages \
15	--sbindir=/sbin \
16	--libexecdir=/lib \
17	--disable-introspection \
18	--enable-kmod \
19	--enable-blkid
20
21# eudev requires only the util-linux libraries at build time
22EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux-libs kmod
23EUDEV_PROVIDES = udev
24
25ifeq ($(BR2_ROOTFS_MERGED_USR),)
26EUDEV_CONF_OPTS += --with-rootlibdir=/lib --enable-split-usr
27endif
28
29ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y)
30EUDEV_CONF_OPTS += --enable-rule-generator
31else
32EUDEV_CONF_OPTS += --disable-rule-generator
33endif
34
35ifeq ($(BR2_PACKAGE_EUDEV_ENABLE_HWDB),y)
36EUDEV_CONF_OPTS += --enable-hwdb
37else
38EUDEV_CONF_OPTS += --disable-hwdb
39endif
40
41ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
42EUDEV_CONF_OPTS += --enable-selinux
43EUDEV_DEPENDENCIES += libselinux
44else
45EUDEV_CONF_OPTS += --disable-selinux
46endif
47
48define EUDEV_INSTALL_INIT_SYSV
49	$(INSTALL) -D -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
50endef
51
52# Avoid installing S10udev with openrc, as the service is started by a unit
53# from the udev-gentoo-scripts package.
54define EUDEV_INSTALL_INIT_OPENRC
55	@:
56endef
57
58HOST_EUDEV_DEPENDENCIES = host-gperf host-pkgconf
59
60HOST_EUDEV_SYSCONFDIR = $(if $(BR2_PACKAGE_SYSTEMD),/usr/lib,/etc)
61HOST_EUDEV_CONF_OPTS = \
62	--prefix=/usr \
63	--sbindir=/sbin \
64	--libexecdir=/lib \
65	--with-rootlibdir=/lib \
66	--sysconfdir=$(HOST_EUDEV_SYSCONFDIR) \
67	--disable-blkid \
68	--disable-introspection \
69	--disable-kmod \
70	--disable-manpages \
71	--disable-rule-generator \
72	--disable-selinux \
73	--enable-hwdb
74
75define HOST_EUDEV_INSTALL_CMDS
76	$(INSTALL) -D -m 0755 $(@D)/src/udev/udevadm \
77		$(HOST_DIR)/bin/udevadm
78endef
79
80define HOST_EUDEV_BUILD_HWDB
81	$(HOST_DIR)/bin/udevadm hwdb --update --root $(TARGET_DIR)
82endef
83HOST_EUDEV_TARGET_FINALIZE_HOOKS += HOST_EUDEV_BUILD_HWDB
84
85# Note: this will run in the filesystem context, so will use a copy
86# of tharget/, not the real one, so the files are still available on
87# re-builds (foo-rebuild, etc...)
88define HOST_EUDEV_RM_HWDB_SRC
89	rm -rf $(TARGET_DIR)/$(HOST_EUDEV_SYSCONFDIR)/udev/hwdb.d/
90endef
91HOST_EUDEV_ROOTFS_PRE_CMD_HOOKS += HOST_EUDEV_RM_HWDB_SRC
92
93$(eval $(autotools-package))
94$(eval $(host-autotools-package))
95