# $Progeny: Makefile,v 1.2 2002/01/18 06:20:52 dsp Exp $

prefix = /lib
datadir = $(prefix)/

DESTDIR =

MAJOR=1
DATE=$(shell date +%Y.%m.%d)
VERSION=$(MAJOR).$(DATE)
DISTNAME=discover-data-$(VERSION)

hwlists_DATA = *.lst

hwlistsdir = $(datadir)/discover

all: $(hwlists_DATA)

shorthwlists: $(hwlists_DATA)
	# Copy in limited autodetect databases to save space.
	for discoverdb in $(hwlists_DATA) ; \
	do \
	    discoverfn=`basename $$discoverdb`; \
	    cat $$discoverdb | \
		awk 'BEGIN { FS = "\t"; CURRENTVENDOR = ""; LASTVENDOR = "Nonexistent Vendor" }; /^[^\t]/ { CURRENTVENDOR = $$0 }; /^\t/ && $$3 !~ /(sound|tvcard|video)/ && $$4 !~ /(unknown|ignore)/ { if (CURRENTVENDOR != LASTVENDOR) print CURRENTVENDOR; print $$0; LASTVENDOR = CURRENTVENDOR }' \
		> $$discoverfn-short ; \
	done

install: $(hwlists_DATA)
	install -m 755 -d $(DESTDIR)$(hwlistsdir)
	install -m 644 $(hwlists_DATA) $(DESTDIR)$(hwlistsdir)

install-udeb: shorthwlists
	install -m 755 -d $(DESTDIR)$(hwlistsdir)
	for list in $(hwlists_DATA) ; do \
		install -m 644 $$list-short $(DESTDIR)$(hwlistsdir)/$$list ; \
	done

uninstall:
	for i in $(hwlists_DATA); do rm $(DESTDIR)$(hwlistsdir)/$$i; done
	-rmdir $(DESTDIR)$(hwlistsdir)

update-pci:
	wget http://pciids.sourceforge.net/pci.ids.gz
	gunzip -f pci.ids.gz
	chmod a+rx ./hw-db-merge.pl
	./hw-db-merge.pl

check-pci-types:
	# Based on the type list in discover1 (discover.c) version 1.5-8
	grep "	" pci.lst | cut -d"	" -f3|sort -u | egrep -v "bridge|cdrom|ethernet|ide|scsi|sound|usb|video|disk|isdn|unknown"
	#bridge,cdrom|disk|ide|scsi|usb|ethernet|modem|sound|video

dist:
	mkdir $(DISTNAME)
	cp Makefile $(hwlists_DATA) $(DISTNAME)
	tar cf - $(DISTNAME) | gzip -9 > $(DISTNAME).tar.gz
	md5sum $(DISTNAME).tar.gz > $(DISTNAME).tar.gz.md5sum
	rm -rf $(DISTNAME)

.PHONY: all install uninstall dist

clean:
	$(RM) *.lst-short
	$(RM) .#*

