Tcl installs private headers. Also, make installation nicer.
[gumsense-br.git] / package / udev / udev.mk
blobaf62e05366be1d733de888f4252a47231137d8b7
1 #############################################################
3 # udev
5 #############################################################
6 UDEV_VERSION:=101
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
14 # UDEV_ROOT is /dev so we can replace devfs, not /udev for experiments
15 UDEV_ROOT:=/dev
17 $(DL_DIR)/$(UDEV_SOURCE):
18 $(WGET) -P $(DL_DIR) $(UDEV_SITE)/$(UDEV_SOURCE)
20 udev-source: $(DL_DIR)/$(UDEV_SOURCE)
22 $(UDEV_DIR)/.unpacked: $(DL_DIR)/$(UDEV_SOURCE)
23 $(UDEV_CAT) $(DL_DIR)/$(UDEV_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
24 toolchain/patch-kernel.sh $(UDEV_DIR) package/udev udev-*.patch
25 touch $(UDEV_DIR)/.unpacked
27 $(UDEV_DIR)/.configured: $(UDEV_DIR)/.unpacked
28 touch $(UDEV_DIR)/.configured
30 $(UDEV_DIR)/$(UDEV_BINARY): $(UDEV_DIR)/.configured
31 $(MAKE) EXTRAS=extras/firmware CROSS_COMPILE="$(TARGET_CROSS)" \
32 CFLAGS="${TARGET_CFLAGS} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" \
33 USE_LOG=false USE_SELINUX=false \
34 udevdir=$(UDEV_ROOT) -C $(UDEV_DIR)
35 touch -c $(UDEV_DIR)/$(UDEV_BINARY)
37 # UDEV_CONF overrides default policies for device access control and naming;
38 # default access controls prevent non-root tasks from running. Many of the
39 # rule files rely on PROGRAM invocations (e.g. extra /etc/udev/scripts);
40 # for now we'll avoid having buildroot systems rely on them.
41 UDEV_CONF:=etc/udev/frugalware/*
43 $(TARGET_DIR)/$(UDEV_TARGET_BINARY): $(UDEV_DIR)/$(UDEV_BINARY)
44 -mkdir -p $(TARGET_DIR)/sys
45 mkdir -p $(TARGET_DIR)/etc/udev/rules.d
46 install -m 0644 $(UDEV_DIR)/$(UDEV_CONF) $(TARGET_DIR)/etc/udev/rules.d
47 $(MAKE) EXTRAS=extras/firmware CROSS_COMPILE="$(TARGET_CROSS)" DESTDIR="$(TARGET_DIR)" \
48 CFLAGS="${TARGET_CFLAGS} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" \
49 USE_LOG=false USE_SELINUX=false \
50 udevdir=$(UDEV_ROOT) -C $(UDEV_DIR) install
51 install -m 0755 -D package/udev/init-udev $(TARGET_DIR)/etc/init.d/rc.udev
52 install -m 0644 -D package/udev/udev-99-mmc.rules $(TARGET_DIR)/etc/udev/rules.d/99-mmc.rules
53 install -m 0644 -D package/udev/udev-70-ide.rules $(TARGET_DIR)/etc/udev/rules.d/70-ide.rules
54 install -m 0644 -D package/udev/udev-55-firmware.rules $(TARGET_DIR)/etc/udev/rules.d/55-firmware.rules
55 echo 'udev_root=/dev' >> $(TARGET_DIR)/etc/udev/udev.conf
56 install -m 0755 -D $(UDEV_DIR)/udevstart $(TARGET_DIR)/sbin/udevstart
57 install -m 0755 -D $(UDEV_DIR)/udev $(TARGET_DIR)/sbin/udev
59 udev: uclibc $(TARGET_DIR)/$(UDEV_TARGET_BINARY)
61 udev-clean:
62 $(MAKE) EXTRAS=extras/firmware DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(UDEV_DIR) uninstall
63 -$(MAKE) -C $(UDEV_DIR) clean
65 udev-dirclean:
66 rm -rf $(UDEV_DIR)
68 #############################################################
70 # Toplevel Makefile options
72 #############################################################
73 ifeq ($(strip $(BR2_PACKAGE_UDEV)),y)
74 TARGETS+=udev
75 endif