]> mj.ucw.cz Git - pciutils.git/blobdiff - Makefile
Added more parts of the Windows port.
[pciutils.git] / Makefile
index a7abb06b5a0138e690cac3048d54c1baad0924b3..fd4110998859d9ad0184c688a6fa7e67fa5e558f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,37 +1,81 @@
-# $Id: Makefile,v 1.9 1998/11/22 08:56:00 mj Exp $
-# Makefile for Linux PCI Utilities
-# (c) 1998 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+# Makefile for The PCI Utilities
+# (c) 1998--2004 Martin Mares <mj@ucw.cz>
 
-ARCH=$(shell uname -m | sed -e 's/i.86/i386/' -e 's/sun4u/sparc64/' | tr 'a-z' 'A-Z')
-KERN_H=$(shell if [ ! -f pci.h ] ; then echo '-DKERNEL_PCI_H' ; fi)
 OPT=-O2 -fomit-frame-pointer
-CFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes -Wno-unused -Werror -DARCH_$(ARCH) $(KERN_H)
+CFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -Winline
 
-ROOT=/
-PREFIX=/usr
+VERSION=2.1.99-test7
+DATE=2004-07-05
 
-all: lspci setpci
+PREFIX=/usr/local
+SBINDIR=$(PREFIX)/sbin
+SHAREDIR=$(PREFIX)/share
+MANDIR:=$(shell if [ -d $(PREFIX)/share/man ] ; then echo $(PREFIX)/share/man ; else echo $(PREFIX)/man ; fi)
+INSTALL=install
+DIRINSTALL=install -d
+PCILIB=lib/libpci.a
+PCIINC=lib/config.h lib/header.h lib/pci.h lib/types.h lib/sysdep.h
 
-lspci: lspci.o names.o filter.o
-setpci: setpci.o filter.o
+ifeq ($(shell uname),NetBSD)
+PCILIB=libpciutils.a
+LDFLAGS+=-lpci
+else
+ifeq ($(shell uname),AIX)
+CFLAGS=-g
+INSTALL=installbsd
+DIRINSTALL=mkdir -p
+endif
+endif
 
-lspci.o: lspci.c pciutils.h
-names.o: names.c pciutils.h
-filter.o: filter.c pciutils.h
-setpci.o: setpci.c pciutils.h
+HOST=
+RELEASE=
+
+export
+
+all: $(PCILIB) lspci setpci lspci.8 setpci.8 update-pciids update-pciids.8 pci.ids
+
+$(PCILIB): $(PCIINC) force
+       $(MAKE) -C lib all
+
+force:
+
+lib/config.h:
+       cd lib && ./configure $(SHAREDIR) $(VERSION) $(HOST) $(RELEASE)
+
+lspci: lspci.o common.o $(PCILIB)
+setpci: setpci.o common.o $(PCILIB)
+
+lspci.o: lspci.c pciutils.h $(PCIINC)
+setpci.o: setpci.c pciutils.h $(PCIINC)
+common.o: common.c pciutils.h $(PCIINC)
+
+update-pciids: update-pciids.sh
+       sed <$< >$@ "s@^DEST=.*@DEST=$(SHAREDIR)/pci.ids@"
+
+%.8: %.man
+       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#@SHAREDIR@#$(SHAREDIR)#"
 
 clean:
-       rm -f `find . -name "*~" -or -name "*.[oa]" -or -name "\#*\#" -or -name TAGS -or -name core`
-       rm -f lspci setpci pci.h
+       rm -f `find . -name "*~" -o -name "*.[oa]" -o -name "\#*\#" -o -name TAGS -o -name core`
+       rm -f update-pciids lspci setpci lib/config.* *.8 pci.ids.*
+       rm -rf maint/dist
+
+distclean: clean
 
 install: all
-       install -o root -g root -m 755 -s lspci setpci $(ROOT)/sbin
-       install -o root -g root -m 644 pci.ids $(PREFIX)/share
-       install -o root -g root -m 644 lspci.8 setpci.8 $(PREFIX)/man/man8
-       # Remove relics from old versions
-       rm -f $(ROOT)/etc/pci.ids
-
-dist: clean
-       cp /usr/src/linux/include/linux/pci.h .
-       sh -c 'X=`pwd` ; X=`basename $$X` ; cd .. ; tar czvvf /tmp/$$X.tar.gz $$X --exclude CVS --exclude tmp'
-       rm -f pci.h
+# -c is ignored on Linux, but required on FreeBSD
+       $(DIRINSTALL) -m 755 $(SBINDIR) $(SHAREDIR) $(MANDIR)/man8
+       $(INSTALL) -c -m 755 -s lspci setpci $(SBINDIR)
+       $(INSTALL) -c -m 755 update-pciids $(SBINDIR)
+       $(INSTALL) -c -m 644 pci.ids $(SHAREDIR)
+       $(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(MANDIR)/man8
+
+uninstall: all
+       rm -f $(SBINDIR)/lspci $(SBINDIR)/setpci $(SBINDIR)/update-pciids
+       rm -f $(SHAREDIR)/pci.ids
+       rm -f $(MANDIR)/man8/lspci.8 $(MANDIR)/man8/setpci.8 $(MANDIR)/man8/update-pciids.8
+
+get-ids:
+       cp ~/tree/pciids/pci.ids pci.ids
+
+.PHONY: all clean distclean install uninstall get-ids force