X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=Makefile;h=0a21ee80cd83414617f83b8a183f04774cfd05cf;hb=7cb1afbe8d058688fc20c689edd3f5bb6243b28f;hp=95f62e686ac713ec1103eefc48c59f801d75f99e;hpb=349c0fe9cf88d42218e8015e2353c57be1cc1f32;p=pciutils.git diff --git a/Makefile b/Makefile index 95f62e6..0a21ee8 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,16 @@ # Makefile for The PCI Utilities -# (c) 1998--2008 Martin Mares +# (c) 1998--2013 Martin Mares OPT=-O2 CFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -VERSION=2.2.10-net2 -DATE=2008-02-13 +VERSION=3.2.1 +DATE=2013-11-10 # Host OS and release (override if you are cross-compiling) HOST= RELEASE= +CROSS_COMPILE= # Support for compressed pci.ids (yes/no, default: detect) ZLIB= @@ -20,8 +21,12 @@ DNS= # Build libpci as a shared library (yes/no; or local for testing; requires GCC) SHARED=no +# Use libkmod to resolve kernel modules on Linux (yes/no, default: detect) +LIBKMOD= + # ABI version suffix in the name of the shared library -ABI_VERSION=.2.2.99 +# (as we use proper symbol versioning, this seldom needs changing) +ABI_VERSION=.3 # Installation directories PREFIX=/usr/local @@ -37,8 +42,9 @@ PKGCFDIR=$(LIBDIR)/pkgconfig INSTALL=install DIRINSTALL=install -d STRIP=-s -AR=ar -RANLIB=ranlib +CC=$(CROSS_COMPILE)gcc +AR=$(CROSS_COMPILE)ar +RANLIB=$(CROSS_COMPILE)ranlib # Base name of the library (overriden on NetBSD, which has its own libpci) LIBNAME=libpci @@ -60,13 +66,24 @@ force: lib/config.h lib/config.mk: cd lib && ./configure -lspci: lspci.o common.o lib/$(PCILIB) +lspci: lspci.o ls-vpd.o ls-caps.o ls-ecaps.o ls-kernel.o ls-tree.o ls-map.o common.o lib/$(PCILIB) setpci: setpci.o common.o lib/$(PCILIB) -lspci.o: lspci.c pciutils.h $(PCIINC) +LSPCIINC=lspci.h pciutils.h $(PCIINC) +lspci.o: lspci.c $(LSPCIINC) +ls-vpd.o: ls-vpd.c $(LSPCIINC) +ls-caps.o: ls-caps.c $(LSPCIINC) +ls-ecaps.o: ls-ecaps.c $(LSPCIINC) +ls-kernel.o: ls-kernel.c $(LSPCIINC) +ls-tree.o: ls-tree.c $(LSPCIINC) +ls-map.o: ls-map.c $(LSPCIINC) + setpci.o: setpci.c pciutils.h $(PCIINC) common.o: common.c pciutils.h $(PCIINC) +lspci: LDLIBS+=$(LIBKMOD_LIBS) +ls-kernel.o: CFLAGS+=$(LIBKMOD_CFLAGS) + update-pciids: update-pciids.sh sed <$< >$@ "s@^DEST=.*@DEST=$(IDSDIR)/$(PCI_IDS)@;s@^PCI_COMPRESSED_IDS=.*@PCI_COMPRESSED_IDS=$(PCI_COMPRESSED_IDS)@" chmod +x $@ @@ -97,15 +114,20 @@ install: all $(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(DESTDIR)$(MANDIR)/man8 $(INSTALL) -c -m 644 pcilib.7 $(DESTDIR)$(MANDIR)/man7 ifeq ($(SHARED),yes) - $(DIRINSTALL) -m 755 $(DESTDIR)$(LIBDIR) - $(INSTALL) -c -m 644 lib/$(PCILIB) $(DESTDIR)$(LIBDIR) ln -sf $(PCILIB) $(DESTDIR)$(LIBDIR)/$(LIBNAME).so$(ABI_VERSION) endif -install-lib: $(PCIINC_INS) lib/$(PCILIB) lib/$(PCILIBPC) - $(DIRINSTALL) -m 755 $(DESTDIR)$(INCDIR)/pci $(DESTDIR)$(LIBDIR) $(DESTDIR)$(PKGCFDIR) - $(INSTALL) -c -m 644 $(PCIINC_INS) $(DESTDIR)$(INCDIR)/pci +ifeq ($(SHARED),yes) +install: install-pcilib +endif + +install-pcilib: lib/$(PCILIB) + $(DIRINSTALL) -m 755 $(DESTDIR)$(LIBDIR) $(INSTALL) -c -m 644 lib/$(PCILIB) $(DESTDIR)$(LIBDIR) + +install-lib: $(PCIINC_INS) lib/$(PCILIBPC) install-pcilib + $(DIRINSTALL) -m 755 $(DESTDIR)$(INCDIR)/pci $(DESTDIR)$(PKGCFDIR) + $(INSTALL) -c -m 644 $(PCIINC_INS) $(DESTDIR)$(INCDIR)/pci $(INSTALL) -c -m 644 lib/$(PCILIBPC) $(DESTDIR)$(PKGCFDIR) ifeq ($(SHARED),yes) ln -sf $(LIBNAME).so$(ABI_VERSION) $(DESTDIR)$(LIBDIR)/$(LIBNAME).so @@ -121,6 +143,6 @@ ifeq ($(SHARED),yes) endif pci.ids.gz: pci.ids - gzip -9 <$< >$@ + gzip -9n <$< >$@ .PHONY: all clean distclean install install-lib uninstall force