xref: /pciutils/Makefile (revision c83293eb)
1*c83293ebSMartin Mares# $Id: Makefile,v 1.50 2003/01/04 12:43:31 mj Exp $
298e39e09SMartin Mares# Makefile for Linux PCI Utilities
3e26a5728SMartin Mares# (c) 1998--2003 Martin Mares <[email protected]>
498e39e09SMartin Mares
5f17b962bSMartin MaresOPT=-O2 -fomit-frame-pointer
6727ce158SMartin Mares#OPT=-O2 -g
73db325b7SMartin MaresCFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes
8727ce158SMartin Mares
9848b4347SMartin MaresVERSION=2.1.11
100138a2a7SMartin Mares#SUFFIX=-pre2
110138a2a7SMartin MaresDATE=2003-01-04
12168b4f46SMartin Mares
13*c83293ebSMartin MaresPREFIX=/usr/local
14*c83293ebSMartin MaresSBINDIR=$(PREFIX)/sbin
15*c83293ebSMartin MaresSHAREDIR=$(PREFIX)/share
16*c83293ebSMartin MaresMANDIR=$(shell if [ -d $(PREFIX)/share/man ] ; then echo $(PREFIX)/share/man ; else echo $(PREFIX)/man ; fi)
1714d6c0a3SMartin MaresINSTALL=install
1814d6c0a3SMartin MaresDIRINSTALL=install -d
19848b4347SMartin MaresPCILIB=libpci.a
20*c83293ebSMartin Mares
21848b4347SMartin Maresifeq ($(shell uname),NetBSD)
22848b4347SMartin MaresPCILIB=libpciutils.a
23848b4347SMartin MaresLDFLAGS+=-lpci
24848b4347SMartin Mareselse
2514d6c0a3SMartin Maresifeq ($(shell uname),AIX)
2614d6c0a3SMartin MaresCFLAGS=-g
2714d6c0a3SMartin MaresINSTALL=installbsd
2814d6c0a3SMartin MaresDIRINSTALL=mkdir -p
29168b4f46SMartin Maresendif
3014d6c0a3SMartin Maresendif
31f6c86928SMartin Mares
32727ce158SMartin Maresexport
33e4842ff3SMartin Mares
341b95f396SMartin Maresall: lib lspci setpci lspci.8 setpci.8 update-pciids update-pciids.8 pci.ids
3598e39e09SMartin Mares
36727ce158SMartin Mareslib: lib/config.h
37727ce158SMartin Mares	$(MAKE) -C lib all
38727ce158SMartin Mares
39727ce158SMartin Mareslib/config.h:
40*c83293ebSMartin Mares	cd lib && ./configure $(SHAREDIR) $(VERSION)
41727ce158SMartin Mares
427e165fa6SMartin Mareslspci: lspci.o common.o lib/$(PCILIB)
437e165fa6SMartin Maressetpci: setpci.o common.o lib/$(PCILIB)
44727ce158SMartin Mares
457e165fa6SMartin Mareslspci.o: lspci.c pciutils.h
467e165fa6SMartin Maressetpci.o: setpci.c pciutils.h
477e165fa6SMartin Marescommon.o: common.c pciutils.h
48727ce158SMartin Mares
491b95f396SMartin Maresupdate-pciids: update-pciids.sh
50*c83293ebSMartin Mares	sed <$< >$@ "s@^DEST=.*@DEST=$(SHAREDIR)/pci.ids@"
511b95f396SMartin Mares
52727ce158SMartin Mares%.8: %.man
53168b4f46SMartin 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)$(SUFFIX)/"
5498e39e09SMartin Mares
5598e39e09SMartin Maresclean:
5614d6c0a3SMartin Mares	rm -f `find . -name "*~" -o -name "*.[oa]" -o -name "\#*\#" -o -name TAGS -o -name core`
57*c83293ebSMartin Mares	rm -f update-ids lspci setpci lib/config.* *.8
58f17b962bSMartin Mares
59f17b962bSMartin Maresinstall: all
60168b4f46SMartin Mares# -c is ignored on Linux, but required on FreeBSD
61*c83293ebSMartin Mares	$(DIRINSTALL) -m 755 $(SBINDIR) $(SHAREDIR) $(MANDIR)/man8
62*c83293ebSMartin Mares	$(INSTALL) -c -m 755 -s lspci setpci update-pciids $(SBINDIR)
63*c83293ebSMartin Mares	$(INSTALL) -c -m 644 pci.ids $(SHAREDIR)
641b95f396SMartin Mares	$(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(MANDIR)/man8
65f17b962bSMartin Mares
6682ce97c9SMartin Maresuninstall: all
67*c83293ebSMartin Mares	rm -f $(SBINDIR)/lspci $(SBINDIR)/setpci $(SBINDIR)/update-pciids
68*c83293ebSMartin Mares	rm -f $(SHAREDIR)/pci.ids
69*c83293ebSMartin Mares	rm -f $(MANDIR)/man8/lspci.8 $(MANDIR)/man8/setpci.8 $(MANDIR)/man8/update-pciids.8
7082ce97c9SMartin Mares
71a33d0eb7SMartin Maresget-ids:
72a33d0eb7SMartin Mares	cp ~/tree/pciids/pci.ids pci.ids
73a33d0eb7SMartin Mares
74a33d0eb7SMartin Marespci.ids:
751b95f396SMartin Mares	@ [ -f pci.ids ] || echo >&2 "The pci.ids file is no longer part of the CVS. Please do run update-ids.sh to download them." && false
76a33d0eb7SMartin Mares
77f6c86928SMartin Maresrelease:
78f6c86928SMartin Mares	sed "s/^\\(Version:[ 	]*\\)[0-9.]*/\\1$(VERSION)/;s/^\\(Entered-date:[ 	]*\\)[0-9]*/\\1`date -d$(DATE) '+%y%m%d'`/;s/\\(pciutils-\\)[0-9.]*/\\1$(VERSION)\\./" <pciutils.lsm >pciutils.lsm.new
79f6c86928SMartin Mares	sed "s/^\\(Version:[ 	]*\\)[0-9.]*/\\1$(VERSION)/" <pciutils.spec >pciutils.spec.new
80f6c86928SMartin Mares	sed "s/\\(, version \\).*\./\\1$(VERSION)$(SUFFIX)./" <README >README.new
81f6c86928SMartin Mares	mv pciutils.lsm.new pciutils.lsm
82f6c86928SMartin Mares	mv pciutils.spec.new pciutils.spec
83f6c86928SMartin Mares	mv README.new README
84727ce158SMartin Mares
854a219d5fSMartin MaresREL=pciutils-$(VERSION)$(SUFFIX)
86*c83293ebSMartin MaresDISTTMP=/tmp/pciutils-dist
87f6c86928SMartin Mares
88a33d0eb7SMartin Maresdist: clean pci.ids
89a2ea548fSMartin Mares	rm -rf $(DISTTMP)
90a2ea548fSMartin Mares	mkdir $(DISTTMP)
91a2ea548fSMartin Mares	cp -a . $(DISTTMP)/$(REL)
92a33d0eb7SMartin Mares	rm -rf `find $(DISTTMP)/$(REL) -name CVS -o -name tmp -o -name maint`
93a2ea548fSMartin Mares	cd $(DISTTMP) ; tar czvvf /tmp/$(REL).tar.gz $(REL)
94a2ea548fSMartin Mares	rm -rf $(DISTTMP)
95f6c86928SMartin Mares
9641e6513dSMartin Maresupload: dist
97a33d0eb7SMartin Mares	maint/upload $(REL)
9841e6513dSMartin Mares
99*c83293ebSMartin Mares.PHONY: all lib clean install uninstall dist man release upload get-ids
100