xref: /pciutils/Makefile (revision a33d0eb7)
1*a33d0eb7SMartin Mares# $Id: Makefile,v 1.41 2002/03/30 15:34:22 mj Exp $
298e39e09SMartin Mares# Makefile for Linux PCI Utilities
33db325b7SMartin Mares# (c) 1998--2002 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
9783ed67dSMartin MaresVERSION=2.1.9
104a219d5fSMartin Mares#SUFFIX=-pre2
1155c815b5SMartin Mares#SUFFIX=-alpha
12783ed67dSMartin MaresDATE=2001-11-04
13168b4f46SMartin Mares
1414d6c0a3SMartin MaresINSTALL=install
1514d6c0a3SMartin MaresDIRINSTALL=install -d
16168b4f46SMartin Maresifeq ($(shell uname),FreeBSD)
17168b4f46SMartin MaresROOT=/usr/local
18168b4f46SMartin MaresPREFIX=/usr/local
19168b4f46SMartin Mareselse
2014d6c0a3SMartin Maresifeq ($(shell uname),AIX)
2114d6c0a3SMartin MaresROOT=/usr/local
2214d6c0a3SMartin MaresPREFIX=/usr/local
2314d6c0a3SMartin MaresCFLAGS=-g
2414d6c0a3SMartin MaresINSTALL=installbsd
2514d6c0a3SMartin MaresDIRINSTALL=mkdir -p
2614d6c0a3SMartin Mareselse
27168b4f46SMartin MaresROOT=/
28168b4f46SMartin MaresPREFIX=/usr
29168b4f46SMartin Maresendif
3014d6c0a3SMartin Maresendif
31f8141ae2SMartin MaresMANDIR=$(shell if [ -d $(PREFIX)/share/man ] ; then echo $(PREFIX)/share/man ; else echo $(PREFIX)/man ; fi)
32a2ea548fSMartin MaresDISTTMP=/tmp/pciutils-dist
33f6c86928SMartin Mares
34727ce158SMartin Maresexport
35e4842ff3SMartin Mares
36*a33d0eb7SMartin Maresall: lib lspci setpci lspci.8 setpci.8 pci.ids
3798e39e09SMartin Mares
38727ce158SMartin Mareslib: lib/config.h
39727ce158SMartin Mares	$(MAKE) -C lib all
40727ce158SMartin Mares
41727ce158SMartin Mareslib/config.h:
42727ce158SMartin Mares	cd lib && ./configure $(PREFIX) $(VERSION)
43727ce158SMartin Mares
44727ce158SMartin Mareslspci: lspci.o common.o lib/libpci.a
45727ce158SMartin Maressetpci: setpci.o common.o lib/libpci.a
46727ce158SMartin Mares
47727ce158SMartin Mareslspci.o: lspci.c pciutils.h lib/libpci.a
48727ce158SMartin Maressetpci.o: setpci.c pciutils.h lib/libpci.a
49727ce158SMartin Marescommon.o: common.c pciutils.h lib/libpci.a
50727ce158SMartin Mares
51727ce158SMartin Mares%.8: %.man
52168b4f46SMartin 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)/"
5398e39e09SMartin Mares
5498e39e09SMartin Maresclean:
5514d6c0a3SMartin Mares	rm -f `find . -name "*~" -o -name "*.[oa]" -o -name "\#*\#" -o -name TAGS -o -name core`
56d6b297d0SMartin Mares	rm -f lspci setpci lib/config.* *.8
57f6c86928SMartin Mares	rm -rf dist
58f17b962bSMartin Mares
59f17b962bSMartin Maresinstall: all
60168b4f46SMartin Mares# -c is ignored on Linux, but required on FreeBSD
6114d6c0a3SMartin Mares	$(DIRINSTALL) -m 755 $(ROOT)/sbin $(PREFIX)/share $(MANDIR)/man8
6214d6c0a3SMartin Mares	$(INSTALL) -c -m 755 -s lspci setpci $(ROOT)/sbin
63ee551b73SMartin Mares	if [ ! -f $(PREFIX)/share/pci.ids -o pci.ids -nt $(PREFIX)/share/pci.ids ] ; then \
64ee551b73SMartin Mares		$(INSTALL) -c -m 644 pci.ids $(PREFIX)/share ; \
65ee551b73SMartin Mares	elif [ -f $(PREFIX)/share/pci.ids ] ; then \
66ee551b73SMartin Mares		echo "$(PREFIX)/share/pci.ids is same or newer than the version to be installed, skipping." ; \
67ee551b73SMartin Mares	fi
6814d6c0a3SMartin Mares	$(INSTALL) -c -m 644 lspci.8 setpci.8 $(MANDIR)/man8
69d38471fdSMartin Mares# Remove relics from old versions
70d38471fdSMartin Mares	rm -f $(ROOT)/etc/pci.ids
71f17b962bSMartin Mares
7282ce97c9SMartin Maresuninstall: all
7382ce97c9SMartin Mares	rm -f $(ROOT)/sbin/lspci $(ROOT)/sbin/setpci
7465b4327eSMartin Mares	rm -f $(PREFIX)/share/pci.ids
7582ce97c9SMartin Mares	rm -f $(PREFIX)/man/man8/lspci.8 $(PREFIX)/man/man8/setpci.8
7682ce97c9SMartin Mares
77*a33d0eb7SMartin Maresupdate-ids:
78*a33d0eb7SMartin Mares	if [ ! -f pci.ids.orig ] ; then mv pci.ids pci.ids.orig ; fi
79*a33d0eb7SMartin Mares	wget http://pciids.sf.net/pci.ids.bz2
80*a33d0eb7SMartin Mares	bzip2 -d pci.ids.bz2
81*a33d0eb7SMartin Mares
82*a33d0eb7SMartin Maresget-ids:
83*a33d0eb7SMartin Mares	cp ~/tree/pciids/pci.ids pci.ids
84*a33d0eb7SMartin Mares
85*a33d0eb7SMartin Marespci.ids:
86*a33d0eb7SMartin Mares	@ [ -f pci.ids ] || echo >&2 "The pci.ids file is no longer part of the CVS. Please do make update-ids to download them." && false
87*a33d0eb7SMartin Mares
88f6c86928SMartin Maresrelease:
89f6c86928SMartin 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
90f6c86928SMartin Mares	sed "s/^\\(Version:[ 	]*\\)[0-9.]*/\\1$(VERSION)/" <pciutils.spec >pciutils.spec.new
91f6c86928SMartin Mares	sed "s/\\(, version \\).*\./\\1$(VERSION)$(SUFFIX)./" <README >README.new
92f6c86928SMartin Mares	mv pciutils.lsm.new pciutils.lsm
93f6c86928SMartin Mares	mv pciutils.spec.new pciutils.spec
94f6c86928SMartin Mares	mv README.new README
95727ce158SMartin Mares
964a219d5fSMartin MaresREL=pciutils-$(VERSION)$(SUFFIX)
97f6c86928SMartin Mares
98*a33d0eb7SMartin Maresdist: clean pci.ids
99a2ea548fSMartin Mares	rm -rf $(DISTTMP)
100a2ea548fSMartin Mares	mkdir $(DISTTMP)
101a2ea548fSMartin Mares	cp -a . $(DISTTMP)/$(REL)
102*a33d0eb7SMartin Mares	rm -rf `find $(DISTTMP)/$(REL) -name CVS -o -name tmp -o -name maint`
103a2ea548fSMartin Mares	[ -f $(DISTTMP)/$(REL)/lib/header.h ] || cp /usr/src/linux/include/linux/pci.h dist/$(REL)/lib/header.h
104a2ea548fSMartin Mares	cd $(DISTTMP) ; tar czvvf /tmp/$(REL).tar.gz $(REL)
105a2ea548fSMartin Mares	rm -rf $(DISTTMP)
106f6c86928SMartin Mares
10741e6513dSMartin Maresupload: dist
108*a33d0eb7SMartin Mares	maint/upload $(REL)
10941e6513dSMartin Mares
110*a33d0eb7SMartin Mares.PHONY: all lib clean install uninstall dist man release upload update-ids get-ids
111