itools, intltool, diff3, sdiff, msgmerge * Adding USE_TOOLS+=itools to a package Makefile will cause the tool-directory versions of imake, makedepend, mkdirhier and xmkmf to point to the ones from the devel/nbitools package. This change will remove the need for nbitools/buildlink3.mk, which currently does a bit of hackery to force the "right" imake tools to be used by packages that need it. * Adding USE_TOOLS+=intltool to a package Makefile will cause the local versions of intltool-* inside ${WRKSRC} to be replaced by copies from the textproc/intltool package. If "intltool" is not specified as a tool, then we create "broken" intltool-* tools in the tools directory to help highlight hidden dependencies on the intltool package. In addition, modify the tools framework so that if "perl" is not specified as a tool, then we create a "broken" perl tool in the tools directory for the same reason as for "intltool". These two changes together will remove the need for intltools/buildlink3.mk and should also catch all cases where the sources' intltools may have been silently used because perl was found on the system. * Adding USE_TOOLS+=diff3, USE_TOOLS+=sdiff, or USE_TOOLS+=msgmerge to a package Makefile will cause the corresponding tool to be pulled into the tools directory. These are convenience tools to help simplify dependencies for some packages.
93 lines
3.4 KiB
Makefile
93 lines
3.4 KiB
Makefile
# $NetBSD: imake.mk,v 1.18 2006/07/05 04:32:10 jlam 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.
|
|
#
|
|
|
|
#
|
|
# This Makefile fragment defines additional variables that are used
|
|
# by packages that need imake and xmkmf.
|
|
#
|
|
# Variables defined by this file are:
|
|
#
|
|
# XMKMF, TOOLS_XMKMF
|
|
# command to create all Makefiles from Imakefiles,
|
|
# usually "xmkmf -a".
|
|
#
|
|
# Optional variables that may be defined by the package are:
|
|
#
|
|
# IMAKEOPTS Options to pass to imake
|
|
# XMKMF_FLAGS Options to pass to xmkmf
|
|
#
|
|
# A platform/${OPSYS}.mk file may note that additional tools are
|
|
# required when using imake by setting IMAKE_TOOLS to the appropriate
|
|
# value, e.g. IMAKE_TOOLS+=gmake to use GNU make to build packages
|
|
# that use imake.
|
|
#
|
|
# This file needs to be included before replace.mk as it modifies the
|
|
# USE_TOOLS variables that are used by replace.mk.
|
|
#
|
|
|
|
.if defined(USE_IMAKE)
|
|
USE_TOOLS+= imake xmkmf
|
|
.endif
|
|
|
|
# itools implies all of the imake tools
|
|
.if !empty(USE_TOOLS:Mitools)
|
|
USE_TOOLS+= imake makedepend mkdirhier xmkmf
|
|
.endif
|
|
|
|
# imake and xmkmf imply each other
|
|
.if !empty(USE_TOOLS:Mimake) || !empty(USE_TOOLS:Mxmkmf)
|
|
USE_TOOLS+= imake xmkmf
|
|
.endif
|
|
|
|
# Add any extra tools that may be required when using imake, e.g. gmake.
|
|
.if !empty(USE_TOOLS:Mimake)
|
|
USE_TOOLS+= ${IMAKE_TOOLS:Nimake}
|
|
.endif
|
|
|
|
# Ensure that the correct commands are used when using nbitools.
|
|
.if !empty(USE_TOOLS:Mitools)
|
|
CONFIGURE_ENV+= IMAKE_CMD=imake
|
|
MAKE_ENV+= IMAKE_CMD=imake
|
|
SCRIPTS_ENV+= IMAKE_CMD=imake
|
|
TOOLS_ARGS.imake+= -DImakeCmd=imake
|
|
.endif
|
|
|
|
TOOLS_ARGS.imake+= ${IMAKEOPTS}
|
|
TOOLS_ARGS.xmkmf+= ${XMKMF_FLAGS}
|
|
|
|
TOOLS_XMKMF= ${${_TOOLS_VARNAME.xmkmf}} -a
|
|
XMKMF= ${${_TOOLS_VARNAME.xmkmf}} -a
|