pkgsrc/mk/tools/rpcgen.mk

65 lines
2.7 KiB
Makefile
Raw Normal View History

# $NetBSD: rpcgen.mk,v 1.11 2009/12/07 02:36:51 dholland Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Johnny C. Lam.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by the NetBSD
# Foundation, Inc. and its contributors.
# 4. Neither the name of The NetBSD Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
Initial commit of the new tools framework. This is currently designed to be a drop-in replacement for mk/tools.mk, but isn't yet enabled pending further testing. To use, edit bsd.pkg.mk to include bsd.tools.mk instead of tools.mk. The major changes from the old tools framework are: (1) The new interface to using the tools framework is through setting USE_TOOLS in the package Makefile, e.g., USE_TOOLS+= autoconf gmake yacc (2) Bison/yacc handling is improved. Instead of adding checks for /usr/bin/yacc to the package Makefile and explicitly setting YACC, e.g., security/mit-krb5/Makefile, simply add "yacc" to USE_TOOLS. If bison is explicitly required, then add "bison" to USE_TOOLS instead. (3) GNU auto* tools are handled differently. "autoconf", "aclocal", "automake", etc. will be tools in ${TOOLS_DIR} that point to the correct versions of the auto* tools. Instead of patching Makefiles or scripts to use ${AUTOCONF}, ${ACLOCAL}, etc., the correct versions of the tools will be called if they are invoked simply by their bare names. This is selected by adding either "autoconf" or "autoconf213", or "automake" or "automake14" to USE_TOOLS. The new tools framework will deprecate the following variables: ACLOCAL AUTORECONF AUTOCONF BUILD_USES_GETTEXT_M4 AUTOHEADER USE_GNU_TOOLS AUTOMAKE USE_TBL The new tools framework will deprecate the following *.mk files: mk/autoconf.mk mk/automake.mk mk/tools.mk Additional documentation on how to use bsd.tools.mk to create new tools under ${TOOLS_DIR} may be found in the header comments in bsd.tools.mk.
2005-04-15 02:00:21 +02:00
#
Initial commit of the new tools framework. This is currently designed to be a drop-in replacement for mk/tools.mk, but isn't yet enabled pending further testing. To use, edit bsd.pkg.mk to include bsd.tools.mk instead of tools.mk. The major changes from the old tools framework are: (1) The new interface to using the tools framework is through setting USE_TOOLS in the package Makefile, e.g., USE_TOOLS+= autoconf gmake yacc (2) Bison/yacc handling is improved. Instead of adding checks for /usr/bin/yacc to the package Makefile and explicitly setting YACC, e.g., security/mit-krb5/Makefile, simply add "yacc" to USE_TOOLS. If bison is explicitly required, then add "bison" to USE_TOOLS instead. (3) GNU auto* tools are handled differently. "autoconf", "aclocal", "automake", etc. will be tools in ${TOOLS_DIR} that point to the correct versions of the auto* tools. Instead of patching Makefiles or scripts to use ${AUTOCONF}, ${ACLOCAL}, etc., the correct versions of the tools will be called if they are invoked simply by their bare names. This is selected by adding either "autoconf" or "autoconf213", or "automake" or "automake14" to USE_TOOLS. The new tools framework will deprecate the following variables: ACLOCAL AUTORECONF AUTOCONF BUILD_USES_GETTEXT_M4 AUTOHEADER USE_GNU_TOOLS AUTOMAKE USE_TBL The new tools framework will deprecate the following *.mk files: mk/autoconf.mk mk/automake.mk mk/tools.mk Additional documentation on how to use bsd.tools.mk to create new tools under ${TOOLS_DIR} may be found in the header comments in bsd.tools.mk.
2005-04-15 02:00:21 +02:00
# Create an rpcgen script that correctly sets the CPP environment
# variable to a stat(2)able path to a C preprocessor, then invokes
# the real rpcgen.
#
TOOLS_CREATE+= rpcgen
.if !defined(TOOLS_PATH.rpcgen)
TOOLS_EXECDIRS.rpcgen?= /bin /sbin /usr/bin /usr/sbin
Initial commit of the new tools framework. This is currently designed to be a drop-in replacement for mk/tools.mk, but isn't yet enabled pending further testing. To use, edit bsd.pkg.mk to include bsd.tools.mk instead of tools.mk. The major changes from the old tools framework are: (1) The new interface to using the tools framework is through setting USE_TOOLS in the package Makefile, e.g., USE_TOOLS+= autoconf gmake yacc (2) Bison/yacc handling is improved. Instead of adding checks for /usr/bin/yacc to the package Makefile and explicitly setting YACC, e.g., security/mit-krb5/Makefile, simply add "yacc" to USE_TOOLS. If bison is explicitly required, then add "bison" to USE_TOOLS instead. (3) GNU auto* tools are handled differently. "autoconf", "aclocal", "automake", etc. will be tools in ${TOOLS_DIR} that point to the correct versions of the auto* tools. Instead of patching Makefiles or scripts to use ${AUTOCONF}, ${ACLOCAL}, etc., the correct versions of the tools will be called if they are invoked simply by their bare names. This is selected by adding either "autoconf" or "autoconf213", or "automake" or "automake14" to USE_TOOLS. The new tools framework will deprecate the following variables: ACLOCAL AUTORECONF AUTOCONF BUILD_USES_GETTEXT_M4 AUTOHEADER USE_GNU_TOOLS AUTOMAKE USE_TBL The new tools framework will deprecate the following *.mk files: mk/autoconf.mk mk/automake.mk mk/tools.mk Additional documentation on how to use bsd.tools.mk to create new tools under ${TOOLS_DIR} may be found in the header comments in bsd.tools.mk.
2005-04-15 02:00:21 +02:00
. for _d_ in ${TOOLS_EXECDIRS.rpcgen}
. if exists(${_d_}/rpcgen)
TOOLS_PATH.rpcgen?= ${_d_}/rpcgen
Initial commit of the new tools framework. This is currently designed to be a drop-in replacement for mk/tools.mk, but isn't yet enabled pending further testing. To use, edit bsd.pkg.mk to include bsd.tools.mk instead of tools.mk. The major changes from the old tools framework are: (1) The new interface to using the tools framework is through setting USE_TOOLS in the package Makefile, e.g., USE_TOOLS+= autoconf gmake yacc (2) Bison/yacc handling is improved. Instead of adding checks for /usr/bin/yacc to the package Makefile and explicitly setting YACC, e.g., security/mit-krb5/Makefile, simply add "yacc" to USE_TOOLS. If bison is explicitly required, then add "bison" to USE_TOOLS instead. (3) GNU auto* tools are handled differently. "autoconf", "aclocal", "automake", etc. will be tools in ${TOOLS_DIR} that point to the correct versions of the auto* tools. Instead of patching Makefiles or scripts to use ${AUTOCONF}, ${ACLOCAL}, etc., the correct versions of the tools will be called if they are invoked simply by their bare names. This is selected by adding either "autoconf" or "autoconf213", or "automake" or "automake14" to USE_TOOLS. The new tools framework will deprecate the following variables: ACLOCAL AUTORECONF AUTOCONF BUILD_USES_GETTEXT_M4 AUTOHEADER USE_GNU_TOOLS AUTOMAKE USE_TBL The new tools framework will deprecate the following *.mk files: mk/autoconf.mk mk/automake.mk mk/tools.mk Additional documentation on how to use bsd.tools.mk to create new tools under ${TOOLS_DIR} may be found in the header comments in bsd.tools.mk.
2005-04-15 02:00:21 +02:00
. endif
. endfor
TOOLS_PATH.rpcgen?= ${FALSE}
Initial commit of the new tools framework. This is currently designed to be a drop-in replacement for mk/tools.mk, but isn't yet enabled pending further testing. To use, edit bsd.pkg.mk to include bsd.tools.mk instead of tools.mk. The major changes from the old tools framework are: (1) The new interface to using the tools framework is through setting USE_TOOLS in the package Makefile, e.g., USE_TOOLS+= autoconf gmake yacc (2) Bison/yacc handling is improved. Instead of adding checks for /usr/bin/yacc to the package Makefile and explicitly setting YACC, e.g., security/mit-krb5/Makefile, simply add "yacc" to USE_TOOLS. If bison is explicitly required, then add "bison" to USE_TOOLS instead. (3) GNU auto* tools are handled differently. "autoconf", "aclocal", "automake", etc. will be tools in ${TOOLS_DIR} that point to the correct versions of the auto* tools. Instead of patching Makefiles or scripts to use ${AUTOCONF}, ${ACLOCAL}, etc., the correct versions of the tools will be called if they are invoked simply by their bare names. This is selected by adding either "autoconf" or "autoconf213", or "automake" or "automake14" to USE_TOOLS. The new tools framework will deprecate the following variables: ACLOCAL AUTORECONF AUTOCONF BUILD_USES_GETTEXT_M4 AUTOHEADER USE_GNU_TOOLS AUTOMAKE USE_TBL The new tools framework will deprecate the following *.mk files: mk/autoconf.mk mk/automake.mk mk/tools.mk Additional documentation on how to use bsd.tools.mk to create new tools under ${TOOLS_DIR} may be found in the header comments in bsd.tools.mk.
2005-04-15 02:00:21 +02:00
.endif
TOOLS_CMD.rpcgen= ${TOOLS_DIR}/bin/rpcgen
.if ${OPSYS} == "NetBSD"
TOOLS_ARGS.rpcgen?= -b
.elif ${OPSYS} == "Linux"
TOOLS_ARGS.rpcgen?= -Y ${WRAPPER_BINDIR:Q}
Initial commit of the new tools framework. This is currently designed to be a drop-in replacement for mk/tools.mk, but isn't yet enabled pending further testing. To use, edit bsd.pkg.mk to include bsd.tools.mk instead of tools.mk. The major changes from the old tools framework are: (1) The new interface to using the tools framework is through setting USE_TOOLS in the package Makefile, e.g., USE_TOOLS+= autoconf gmake yacc (2) Bison/yacc handling is improved. Instead of adding checks for /usr/bin/yacc to the package Makefile and explicitly setting YACC, e.g., security/mit-krb5/Makefile, simply add "yacc" to USE_TOOLS. If bison is explicitly required, then add "bison" to USE_TOOLS instead. (3) GNU auto* tools are handled differently. "autoconf", "aclocal", "automake", etc. will be tools in ${TOOLS_DIR} that point to the correct versions of the auto* tools. Instead of patching Makefiles or scripts to use ${AUTOCONF}, ${ACLOCAL}, etc., the correct versions of the tools will be called if they are invoked simply by their bare names. This is selected by adding either "autoconf" or "autoconf213", or "automake" or "automake14" to USE_TOOLS. The new tools framework will deprecate the following variables: ACLOCAL AUTORECONF AUTOCONF BUILD_USES_GETTEXT_M4 AUTOHEADER USE_GNU_TOOLS AUTOMAKE USE_TBL The new tools framework will deprecate the following *.mk files: mk/autoconf.mk mk/automake.mk mk/tools.mk Additional documentation on how to use bsd.tools.mk to create new tools under ${TOOLS_DIR} may be found in the header comments in bsd.tools.mk.
2005-04-15 02:00:21 +02:00
.endif
TOOLS_SCRIPT.rpcgen= CPP=${WRAPPER_BINDIR:Q}/cpp ${TOOLS_SCRIPT_DFLT.rpcgen}
Initial commit of the new tools framework. This is currently designed to be a drop-in replacement for mk/tools.mk, but isn't yet enabled pending further testing. To use, edit bsd.pkg.mk to include bsd.tools.mk instead of tools.mk. The major changes from the old tools framework are: (1) The new interface to using the tools framework is through setting USE_TOOLS in the package Makefile, e.g., USE_TOOLS+= autoconf gmake yacc (2) Bison/yacc handling is improved. Instead of adding checks for /usr/bin/yacc to the package Makefile and explicitly setting YACC, e.g., security/mit-krb5/Makefile, simply add "yacc" to USE_TOOLS. If bison is explicitly required, then add "bison" to USE_TOOLS instead. (3) GNU auto* tools are handled differently. "autoconf", "aclocal", "automake", etc. will be tools in ${TOOLS_DIR} that point to the correct versions of the auto* tools. Instead of patching Makefiles or scripts to use ${AUTOCONF}, ${ACLOCAL}, etc., the correct versions of the tools will be called if they are invoked simply by their bare names. This is selected by adding either "autoconf" or "autoconf213", or "automake" or "automake14" to USE_TOOLS. The new tools framework will deprecate the following variables: ACLOCAL AUTORECONF AUTOCONF BUILD_USES_GETTEXT_M4 AUTOHEADER USE_GNU_TOOLS AUTOMAKE USE_TBL The new tools framework will deprecate the following *.mk files: mk/autoconf.mk mk/automake.mk mk/tools.mk Additional documentation on how to use bsd.tools.mk to create new tools under ${TOOLS_DIR} may be found in the header comments in bsd.tools.mk.
2005-04-15 02:00:21 +02:00
# Make ${RPCGEN} call the "rpcgen" through the PATH, which should find
# the rpcgen tool wrapper.
#
RPCGEN?= rpcgen