Makefile revision 1466
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein###############################################################################
b0e8629055a766d4555a005a283c2889a5974945Mark Andrews#
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews# libpciaccess - generic PCI access software library & scanpci utility
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Permission is hereby granted, free of charge, to any person obtaining a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# copy of this software and associated documentation files (the "Software"),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# to deal in the Software without restriction, including without limitation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# the rights to use, copy, modify, merge, publish, distribute, sublicense,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and/or sell copies of the Software, and to permit persons to whom the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Software is furnished to do so, subject to the following conditions:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The above copyright notice and this permission notice (including the next
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# paragraph) shall be included in all copies or substantial portions of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Software.
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# DEALINGS IN THE SOFTWARE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Package name used in tarballs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_NAME=libpciaccess
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Version number (used in path names)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_VERSION=0.13.2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Checksums for upstream tarball
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTARBALL_MD5 = b7c0d3afce14eedca57312a3141ec13a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTARBALL_SHA1 = 63df515a4c5d5a339a7c1f9e4baa6543efa3c7da
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTARBALL_SHA256= abab8c2b050afb89bc29280e9c6b50ec5867174960d88bfb81a01036ec20de19
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Patches to apply to source after unpacking, in order
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSOURCE_PATCHES = scanpci.man.patch
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSOURCE_PATCHES += fd-leak.patch,-p1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Library name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLIBNAME=libpciaccess
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Where to install libpciaccess files
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_PREFIX=/usr
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_PREFIX_SET=yes
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews# Package metadata
bddb70a27123e31020438cff811d898d44b42c71Mark AndrewsMODULE_DESC = the libpciaccess library and scanpci utility
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews# pkg(5) name we deliver the files in (override default)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_PKGNAME=diagnostic/scanpci
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_PKGNAME_SET=yes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Package classification (override default)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_PKGCLASS=System/Hardware
bddb70a27123e31020438cff811d898d44b42c71Mark AndrewsMODULE_PKGCLASS_SET=yes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ARC cases that covered this module
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews# PSARC/2008/638 libpciaccess & scanpci
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_ARC_CASES = PSARC/2008/638
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Man pages to apply Sun footer to & attributes to list
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSUNTOUCHED_MANPAGES=man/scanpci.man
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_STABILITY=Volatile
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLIB_MAN_SUFFIX=3pciaccess
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Update scanpci.man with program man page flags instead of library ones
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSUNTOUCH_MAN_FLAGS = $(COMMON_SUNTOUCH_MAN_FLAGS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSUNTOUCH_MAN_FLAGS +=-p $(MODULE_PREFIX)/bin/
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSUNTOUCH_MAN_FLAGS_SET=yes
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# pkg-config files that need to have -R added
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark AndrewsFIX_PC_FILES=pciaccess.pc.in
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark Andrews
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark Andrews# Activate additional debugging code in debug builds
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark AndrewsMODULE_DEBUG_FLAGS=-DDEBUG
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark Andrews
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark Andrews# Override linker flags for scanpci program
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark AndrewsPCIACCESS_PROG_LDFLAGS = $(MAPFILES_FOR_PROGS) ../src/libpciaccess.so.0
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark AndrewsPROGRAM_VARS = scanpci
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark AndrewsPROGRAM_MAKEFLAGS = $(PROGRAM_VARS:%=%_LDADD="$(PCIACCESS_PROG_LDFLAGS)")
48abcd3eb789fdd24a2e0a6155b25e6979a39ae0Mark AndrewsMODULE_BUILD_MAKEFLAGS = AM_MAKEFLAGS='$(PROGRAM_MAKEFLAGS)'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Additional targets for scanpci
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_ADD_INSTALL_TARGETS_64 = install_scanpci
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_ADD_INSTALL_TARGETS = $(MODULE_ADD_INSTALL_TARGETS_$(BUILD_TYPE))
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Compatibility links from /usr/X11/bin to /usr/bin
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE_X11_BINCOMPAT_LINKS = scanpci
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../Makefile.inc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# We want to install scanpci, even though the upstream Makefile doesn't
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall_scanpci: default_install
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein mkdir -p $(PROTODIR)$(MODULE_PREFIX)/bin \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(PROTODIR)/etc/security/exec_attr.d/ \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(PROTODIR)$(MODULE_PREFIX)/share/man/man1
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews $(INSTALL_SCRIPT) -m 755 $(BUILD_DIR)/scanpci/scanpci \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(PROTODIR)$(MODULE_PREFIX)/bin/scanpci
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $(INSTALL_SCRIPT) -m 444 $(BUILD_DIR)/man/scanpci.1 \
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews $(PROTODIR)$(MODULE_PREFIX)/share/man/man1/scanpci.1
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews $(INSTALL_SCRIPT) -m 444 exec_attr \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(PROTODIR)/etc/security/exec_attr.d/scanpci
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews