Update.
[oweals/hwids.git] / Makefile
1
2 ifeq "$(V)" "0"
3   STATUS = git status -s
4   Q=@
5 else
6   STATUS = git status
7   Q=
8 endif
9
10 ifeq "$(UDEV)" "yes"
11   ALL_TARGETS=compress udev-hwdb
12   INSTALL_TARGETS=install-base install-hwdb
13 else
14   ALL_TARGETS=compress
15   INSTALL_TARGETS=install-base
16 endif
17
18 all: $(ALL_TARGETS)
19
20 install: $(INSTALL_TARGETS)
21
22 fetch:
23         $(Q)curl -z pci.ids -o pci.ids -R http://pci-ids.ucw.cz/v2.2/pci.ids
24         $(Q)curl -z usb.ids -o usb.ids -R http://www.linux-usb.org/usb.ids
25         $(Q)curl -z oui.txt -o oui.txt -R http://standards.ieee.org/develop/regauth/oui/oui.txt
26         $(Q)curl -z iab.txt -o iab.txt -R http://standards.ieee.org/develop/regauth/iab/iab.txt
27         $(Q)curl -z sdio.ids -o sdio.ids -R http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/sdio.ids
28         $(Q)curl -z udev/20-acpi-vendor.hwdb -o udev/20-acpi-vendor.hwdb -R http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/20-acpi-vendor.hwdb
29         $(Q)curl -z udev/20-bluetooth-vendor-product.hwdb -o udev/20-bluetooth-vendor-product.hwdb -R http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/20-bluetooth-vendor-product.hwdb
30         $(Q)curl -z udev/20-net-ifname.hwdb -o udev/20-net-ifname.hwdb -R http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/20-net-ifname.hwdb
31         $(Q)curl -z udev/60-keyboard.hwdb -o udev/60-keyboard.hwdb -R http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/60-keyboard.hwdb
32         $(Q)curl -z udev-hwdb-update.pl -o udev-hwdb-update.pl -R http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/ids-update.pl
33         $(Q)$(STATUS)
34
35 PV ?= $(shell ( awk '$$2 == "Date:" { print $$3; nextfile }' pci.ids usb.ids; git log --format=format:%ci -1 -- oui.txt udev/20-acpi-vendor.hwdb udev/20-bluetooth-vendor-product.hwdb udev/20-net-ifname.hwdb udev/60-keyboard.hwdb udev-hwdb-update.pl | cut -d ' ' -f1; ) | sort | tail -n 1 | tr -d -)
36 P = hwids-$(PV)
37
38 tag:
39         git tag $(P)
40
41 udev-hwdb:
42         perl ./udev-hwdb-update.pl && mv *.hwdb udev/
43
44 compress: pci.ids.gz usb.ids.gz
45
46 %.gz: %
47         gzip -c $< > $@
48
49 MISCDIR=/usr/share/misc
50 HWDBDIR=$(shell pkg-config --variable=udevdir udev)/hwdb.d
51 DOCDIR=/usr/share/doc/hwids
52
53 install-base: compress
54         mkdir -p $(DESTDIR)$(DOCDIR)
55         install -p -m 644 README.md $(DESTDIR)$(DOCDIR)
56         mkdir -p $(DESTDIR)$(MISCDIR)
57         for file in usb.ids pci.ids usb.ids.gz pci.ids.gz oui.txt iab.txt; do \
58                 install -p -m 644 $$file $(DESTDIR)$(MISCDIR); \
59         done
60
61 install-hwdb:
62         mkdir -p $(DESTDIR)$(HWDBDIR)
63         for file in udev/*.hwdb; do \
64                 install -p -m 644 $$file $(DESTDIR)$(HWDBDIR); \
65         done
66         udevadm hwdb --root $(DESTDIR) --update