PROGS	= ibm_vpd_render \
		pci_vpd_cap_grab \
		pci_lookup \
		pci_ethernet_map pci_scsi_map # pci_ide_map

DATAS	= pci.ids pci.vendor.blacklist

GEN	= proc_pci_class.c

INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = $(INSTALL) -m 755
INSTALL_DATA = $(INSTALL) -m 644

all:	$(GEN) $(PROGS)

ibm_vpd_render:		ibm_vpd_render.o \
			pci_vpd_parse.o \
			../lib/libvpd.a

pci_vpd_cap_grab:	pci_vpd_cap_grab.o \
			pci_vpd_gen_grab.o \
			../lib/libvpd.a

pci_lookup:		pci_lookup.o \
			../lib/libvpd.a

ibm_vpd_render.o:	ibm_vpd_render.c \
			pci_vpd_parse.h \
			../lib/util.h \
			../lib/growbuf.h \
			../lib/vpd.h \

pci_vpd_cap_grab.o:	pci_vpd_cap_grab.c \
			pci_vpd_gen_grab.h \
			../lib/util.h

pci_vpd_gen_grab.o:	pci_vpd_gen_grab.c \
			../lib/util.h

ibm_vpd_to_txt.o:	ibm_vpd_to_txt.c \
			ibm_vpd_to_txt.h \
			pci_vpd_to_txt.h

pci_vpd_to_txt.o:	pci_vpd_to_txt.c \
			pci_vpd_to_txt.h

pci_lookup.o:		pci_lookup.c \
			../lib/util.h

proc_pci_class.c:	make_proc_pci_class pci.ids
			./make_proc_pci_class < pci.ids > proc_pci_class.c

proc_pci.o:		proc_pci.c proc_pci.h ../lib/util.h

pci_ethernet_map:	pci_ethernet_map.o \
			pci_ethernet.o proc_pci.o proc_pci_class.o \
			../lib/libvpd.a
pci_ethernet_map.o:	pci_ethernet_map.c pci_ethernet.h ../lib/util.h
pci_ethernet.o:		pci_ethernet.c pci_ethernet.h ../lib/util.h

pci_scsi_map:		pci_scsi_map.o \
			pci_scsi.o proc_pci.o proc_pci_class.o \
			../lib/libvpd.a
pci_scsi_map.o:		pci_scsi_map.c pci_scsi.h ../lib/util.h
pci_scsi.o:		pci_scsi.c pci_scsi.h ../lib/util.h

pci_ide_map:		pci_ide_map.o \
			pci_ide.o proc_pci.o proc_pci_class.o \
			../lib/libvpd.a
pci_ide_map.o:		pci_ide_map.c pci_ide.h ../lib/util.h
pci_ide.o:		pci_ide.c pci_ide.h ../lib/util.h


install:	all
	@ for f in $(PROGS) ; do \
		$(INSTALL_PROGRAM) $$f $(DESTDIR)$(libdir) ;\
	done
	@ for f in $(DATAS) ; do \
		$(INSTALL_DATA) $$f $(DESTDIR)$(libdir) ;\
	done

clean:
	rm -f $(GEN) $(PROGS) *.o *~
