VERSION=0.15
FILES=ChangeLog TODO README Makefile *.in pci.ids addname pcidev
DATABASES=ide.pci net.pci scsi.pci scsi24.pci gfx.pci snd.pci pcmcia.pci usb.pci sata.pci agp.pci fb.pci
datadir=/usr/share/pci-database
bindir=/usr/bin

KERNEL_VERSION	:= 2.6.17.11-0.5smp
KERNELSRCDIR	:= /lib/modules/$(KERNEL_VERSION)

all:	$(DATABASES)
	
install:
	install -d $(DESTDIR)/$(datadir)
	install -d $(DESTDIR)/$(bindir)
	install -m644 $(DATABASES) $(DESTDIR)/$(datadir)
	install -m755 pcidev $(DESTDIR)/$(bindir)

dist:	pci.ids	pci-database-$(VERSION).tar.bz2

pci-database-$(VERSION).tar.bz2: $(FILES)
	-rm -f *.tar.bz2
	-rm -rf pci-database-$(VERSION)
	mkdir pci-database-$(VERSION)
	cp $(FILES)  pci-database-$(VERSION)
	tar cjvf pci-database-$(VERSION).tar.bz2 pci-database-$(VERSION)
	-rm -rf pci-database-$(VERSION)

pci.ids:
	wget http://pciids.sourceforge.net/pci.ids

$(DATABASES): pci.ids
	if test "$@" != "snd.pci" ; then ./addname $@.in | sort > $@; else ./addname $@.in > $@; fi

pcimap: pcimap-snd pcimap-scsi pcimap-net pcimap-net

pcimap-snd: FORCE
	s=snd.pci.in; grep '^snd-' $(KERNELSRCDIR)/modules.pcimap | \
	./pcimap > tmp; sort -u $$s tmp > $$s.tmp && mv $$s.tmp $$s; \
	rm -f tmp

pcimap-scsi:
	s=scsi.pci.in; find $(KERNELSRCDIR)/kernel/drivers/scsi | awk -F/ '{a = $$NF; sub("\.ko\.gz$$", "", a); printf("^%s \n", a)}' | \
	grep -f - $(KERNELSRCDIR)/modules.pcimap | \
	./pcimap > tmp; sort -u $$s tmp > $$s.tmp && mv $$s.tmp $$s; \
	rm -f tmp

pcimap-net:
	s=net.pci.in; find $(KERNELSRCDIR)/kernel/drivers/net | awk -F/ '{a = $$NF; sub("\.ko\.gz$$", "", a); printf("^%s \n", a)}' | \
	grep -f - $(KERNELSRCDIR)/modules.pcimap | \
	./pcimap > tmp; sort -u $$s tmp > $$s.tmp && mv $$s.tmp $$s; \
	rm -f tmp

FORCE:

clean:
	rm -f *.pci *.bz2 pci.ids *~
