- fix check output
[oweals/hwdata.git] / Makefile
1 NAME=$(shell awk '/Name:/ { print $$2 }' hwdata.spec)
2 VERSION=$(shell awk '/Version:/ { print $$2 }' hwdata.spec)
3 RELEASE=$(shell awk '/Release:/ { a=$$2; sub("%.*","",a); print a }' hwdata.spec)
4 SOURCEDIR := $(shell pwd)
5
6 prefix=$(DESTDIR)/usr
7 sysconfdir=$(DESTDIR)/etc
8 bindir=$(prefix)/bin
9 sbindir=$(prefix)/sbin
10 datadir=$(prefix)/share
11 mandir=$(datadir)/man
12 includedir=$(prefix)/include
13 libdir=$(prefix)/lib
14
15 CC=gcc
16 CFLAGS=$(RPM_OPT_FLAGS) -g
17
18 CVSROOT = $(shell cat CVS/Root 2>/dev/null || :)
19
20 CVSTAG = $(NAME)-r$(subst .,-,$(VERSION))
21
22 FILES = MonitorsDB pci.ids upgradelist usb.ids videodrivers oui.txt
23
24 .PHONY: all install tag force-tag check create-archive archive srpm-x clean clog new-pci-ids new-usb-ids
25
26 all: 
27
28 install:
29         mkdir -p -m 755 $(datadir)/$(NAME)
30         for foo in $(FILES) ; do \
31                 install -m 644 $$foo $(datadir)/$(NAME) ;\
32         done
33         mkdir -p -m 755 $(datadir)/$(NAME)/videoaliases
34         mkdir -p -m 755 $(sysconfdir)/modprobe.d
35         install -m 644 blacklist $(sysconfdir)/modprobe.d
36
37 tag:
38         @git tag -a -m "Tag as $(NAME)-$(VERSION)-$(RELEASE)" $(NAME)-$(VERSION)-$(RELEASE)
39         @echo "Tagged as $(NAME)-$(VERSION)-$(RELEASE)"
40
41 force-tag:
42         @git tag -f $(NAME)-$(VERSION)-$(RELEASE)
43         @echo "Tag forced as $(NAME)-$(VERSION)-$(RELEASE)"
44
45 changelog:
46         @rm -f ChangeLog
47         @(GIT_DIR=.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog || rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
48
49 check:
50         @[ -x /sbin/lspci ] && /sbin/lspci -i pci.ids > /dev/null || { echo "FAILURE: /sbin/lspci -i pci.ids"; exit 1; } && echo "OK: /sbin/lspci -i pci.ids"
51         @./check-pci-ids.py || { echo "FAILURE: ./check-pci-ids.py"; exit 1; } && echo "OK: ./check-pci-ids.py"
52         @: videodrivers is tab-separated
53         @[ `grep -vc '  ' videodrivers` -eq 0 ] || { echo "FAILURE: videodrivers not TAB separated"; exit 1; } && echo "OK: videodrivers"
54
55 create-archive:
56         @rm -rf $(NAME)-$(VERSION) $(NAME)-$(VERSION).tar*  2>/dev/null
57         @make changelog
58         @git-archive --format=tar --prefix=$(NAME)-$(VERSION)/ HEAD > $(NAME)-$(VERSION).tar
59         @mkdir $(NAME)-$(VERSION)
60         @cp ChangeLog $(NAME)-$(VERSION)/
61         @tar --append -f $(NAME)-$(VERSION).tar $(NAME)-$(VERSION)
62         @bzip2 -f $(NAME)-$(VERSION).tar
63         @rm -rf $(NAME)-$(VERSION)
64         @echo ""
65         @echo "The final archive is in $(NAME)-$(VERSION).tar.bz2"
66
67 archive: check clean tag create-archive
68
69 dummy:
70
71 srpm-x: create-archive
72         @echo Creating $(NAME) src.rpm
73         @rpmbuild --nodeps -bs --define "_sourcedir $(SOURCEDIR)" --define "_srcrpmdir $(SOURCEDIR)" $(NAME).spec
74         @echo SRPM is: $(NAME)-$(VERSION)-$(RELEASE).src.rpm
75
76 clean:
77         @rm -f $(NAME)-*.gz $(NAME)-*.src.rpm
78
79 clog: hwdata.spec
80         @sed -n '/^%changelog/,/^$$/{/^%/d;/^$$/d;s/%%/%/g;p}' $< | tee $@
81
82 download: new-usb-ids new-pci-ids new-oui.txt
83
84 new-usb-ids:
85         @curl -O http://www.linux-usb.org/usb.ids
86
87 new-pci-ids:
88         @curl -O http://pciids.sourceforge.net/pci.ids
89
90 new-oui.txt:
91         @curl -O http://standards.ieee.org/regauth/oui/oui.txt