xref: /pciutils/Makefile (revision cc062b4a)
14284af58SMartin Mares# Makefile for The PCI Utilities
21d5cf727SMartin Mares# (c) 1998--2006 Martin Mares <[email protected]>
398e39e09SMartin Mares
454e13765SMartin MaresOPT=-O2
535620695SMartin MaresCFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -Winline
6727ce158SMartin Mares
7f54d99b3SMartin MaresVERSION=2.2.4-pre4
81e73529bSMartin MaresDATE=2006-07-30
9168b4f46SMartin Mares
10c83293ebSMartin MaresPREFIX=/usr/local
11c83293ebSMartin MaresSBINDIR=$(PREFIX)/sbin
12c83293ebSMartin MaresSHAREDIR=$(PREFIX)/share
1354e13765SMartin MaresIDSDIR=$(SHAREDIR)
14b0f1a03bSMartin MaresMANDIR:=$(shell if [ -d $(PREFIX)/share/man ] ; then echo $(PREFIX)/share/man ; else echo $(PREFIX)/man ; fi)
1514d6c0a3SMartin MaresINSTALL=install
1614d6c0a3SMartin MaresDIRINSTALL=install -d
174afd29d3SMartin MaresPCILIB=lib/libpci.a
18489233b4SMartin MaresPCIINC=lib/config.h lib/header.h lib/pci.h lib/types.h lib/sysdep.h
19c83293ebSMartin Mares
20*cc062b4aSMartin Mares-include lib/config.mk
21*cc062b4aSMartin Maresifdef PCI_COMPRESSED_IDS
22*cc062b4aSMartin MaresLDFLAGS += -lz
23*cc062b4aSMartin Maresendif
24*cc062b4aSMartin Mares
25848b4347SMartin Maresifeq ($(shell uname),NetBSD)
26e6859953SMartin MaresPCILIB=lib/libpciutils.a
27848b4347SMartin MaresLDFLAGS+=-lpci
28848b4347SMartin Mareselse
2914d6c0a3SMartin Maresifeq ($(shell uname),AIX)
3014d6c0a3SMartin MaresCFLAGS=-g
3114d6c0a3SMartin MaresINSTALL=installbsd
3214d6c0a3SMartin MaresDIRINSTALL=mkdir -p
33168b4f46SMartin Maresendif
3414d6c0a3SMartin Maresendif
35f6c86928SMartin Mares
360d656226SMartin MaresHOST=
370d656226SMartin MaresRELEASE=
380d656226SMartin Mares
39727ce158SMartin Maresexport
40e4842ff3SMartin Mares
41*cc062b4aSMartin Maresall: $(PCILIB) lspci setpci lspci.8 setpci.8 update-pciids update-pciids.8 $(PCI_IDS)
4298e39e09SMartin Mares
4311f7b31bSMartin Mares$(PCILIB): $(PCIINC) force
44727ce158SMartin Mares	$(MAKE) -C lib all
45727ce158SMartin Mares
4611f7b31bSMartin Maresforce:
4711f7b31bSMartin Mares
48*cc062b4aSMartin Mareslib/config.h lib/config.mk:
49*cc062b4aSMartin Mares	cd lib && ./configure "$(IDSDIR)" "$(VERSION)" "$(HOST)" "$(RELEASE)" "$(ZLIB)"
50727ce158SMartin Mares
514afd29d3SMartin Mareslspci: lspci.o common.o $(PCILIB)
524afd29d3SMartin Maressetpci: setpci.o common.o $(PCILIB)
53727ce158SMartin Mares
544afd29d3SMartin Mareslspci.o: lspci.c pciutils.h $(PCIINC)
554afd29d3SMartin Maressetpci.o: setpci.c pciutils.h $(PCIINC)
564afd29d3SMartin Marescommon.o: common.c pciutils.h $(PCIINC)
57727ce158SMartin Mares
581b95f396SMartin Maresupdate-pciids: update-pciids.sh
59*cc062b4aSMartin Mares	sed <$< >$@ "s@^DEST=.*@DEST=$(IDSDIR)/$(PCI_IDS)@;s@^PCI_COMPRESSED_IDS=.*@PCI_COMPRESSED_IDS=$(PCI_COMPRESSED_IDS)@"
60*cc062b4aSMartin Mares	chmod +x $@
611b95f396SMartin Mares
62727ce158SMartin Mares%.8: %.man
6354e13765SMartin Mares	M=`echo $(DATE) | sed 's/-01-/-January-/;s/-02-/-February-/;s/-03-/-March-/;s/-04-/-April-/;s/-05-/-May-/;s/-06-/-June-/;s/-07-/-July-/;s/-08-/-August-/;s/-09-/-September-/;s/-10-/-October-/;s/-11-/-November-/;s/-12-/-December-/;s/\(.*\)-\(.*\)-\(.*\)/\3 \2 \1/'` ; sed <$< >$@ "s/@TODAY@/$$M/;s/@VERSION@/pciutils-$(VERSION)/;s#@IDSDIR@#$(IDSDIR)#"
6498e39e09SMartin Mares
6598e39e09SMartin Maresclean:
66c7f5314dSMartin Mares	rm -f `find . -name "*~" -o -name "*.[oa]" -o -name "\#*\#" -o -name TAGS -o -name core -o -name "*.orig"`
6714d4f989SMartin Mares	rm -f update-pciids lspci setpci lib/config.* lib/example *.8 pci.ids.*
68ab12277eSMartin Mares	rm -rf maint/dist
69ab12277eSMartin Mares
70ab12277eSMartin Maresdistclean: clean
71f17b962bSMartin Mares
72f17b962bSMartin Maresinstall: all
73168b4f46SMartin Mares# -c is ignored on Linux, but required on FreeBSD
74f4ddb8d3SMartin Mares	$(DIRINSTALL) -m 755 $(DESTDIR)$(SBINDIR) $(DESTDIR)$(IDSDIR) $(DESTDIR)$(MANDIR)/man8
75f4ddb8d3SMartin Mares	$(INSTALL) -c -m 755 -s lspci setpci $(DESTDIR)$(SBINDIR)
76f4ddb8d3SMartin Mares	$(INSTALL) -c -m 755 update-pciids $(DESTDIR)$(SBINDIR)
77*cc062b4aSMartin Mares	$(INSTALL) -c -m 644 $(PCI_IDS) $(DESTDIR)$(IDSDIR)
78f4ddb8d3SMartin Mares	$(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(DESTDIR)$(MANDIR)/man8
79f17b962bSMartin Mares
8082ce97c9SMartin Maresuninstall: all
81f4ddb8d3SMartin Mares	rm -f $(DESTDIR)$(SBINDIR)/lspci $(DESTDIR)$(SBINDIR)/setpci $(DESTDIR)$(SBINDIR)/update-pciids
82*cc062b4aSMartin Mares	rm -f $(DESTDIR)$(IDSDIR)/$(PCI_IDS)
83f4ddb8d3SMartin Mares	rm -f $(DESTDIR)$(MANDIR)/man8/lspci.8 $(DESTDIR)$(MANDIR)/man8/setpci.8 $(DESTDIR)$(MANDIR)/man8/update-pciids.8
8482ce97c9SMartin Mares
85*cc062b4aSMartin Marespci.ids.gz: pci.ids
86*cc062b4aSMartin Mares	gzip -9 <$< >$@
87a33d0eb7SMartin Mares
88*cc062b4aSMartin Mares.PHONY: all clean distclean install uninstall force
89