2014-10-01 21:14:21 +02:00
|
|
|
# $NetBSD: imake.mk,v 1.20 2014/10/01 19:14:21 joerg Exp $
|
2005-05-21 06:46:52 +02:00
|
|
|
#
|
|
|
|
# Copyright (c) 2005 The NetBSD Foundation, Inc.
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
|
|
|
# This code is derived from software contributed to The NetBSD Foundation
|
2005-05-21 06:53:17 +02:00
|
|
|
# by Johnny C. Lam.
|
2005-05-21 06:46:52 +02:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
|
2005-05-02 23:10:02 +02:00
|
|
|
#
|
2005-05-19 07:27:25 +02:00
|
|
|
# This Makefile fragment defines additional variables that are used
|
|
|
|
# by packages that need imake and xmkmf.
|
2005-05-02 23:10:02 +02:00
|
|
|
#
|
|
|
|
# Variables defined by this file are:
|
|
|
|
#
|
2005-05-19 07:27:25 +02:00
|
|
|
# XMKMF, TOOLS_XMKMF
|
|
|
|
# command to create all Makefiles from Imakefiles,
|
|
|
|
# usually "xmkmf -a".
|
Make a distinction between the tools that pkgsrc needs and the tools
that a package needs. Tools that pkgsrc needs are listed in
PKGSRC_USE_TOOLS, and tools that a package needs on top of that are
listed in USE_TOOLS.
Define "TOOL" variables, e.g. SED, AWK, MKDIR, etc. for each of the
tools that pkgsrc needs, and "TOOLS_TOOL" variables, e.g. TOOLS_SED,
TOOLS_AWK, TOOLS_MKDIR, etc. for each of the tools that a package
needs. These variables contain the full command line to the real
command and arguments needed to invoke the tool.
2005-05-10 21:06:58 +02:00
|
|
|
#
|
2005-05-02 23:10:02 +02:00
|
|
|
# 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
|
2005-06-14 09:12:23 +02:00
|
|
|
# required when using imake by setting IMAKE_TOOLS to the appropriate
|
|
|
|
# value, e.g. IMAKE_TOOLS+=gmake to use GNU make to build packages
|
2005-05-02 23:10:02 +02:00
|
|
|
# that use imake.
|
|
|
|
#
|
2005-05-19 07:27:25 +02:00
|
|
|
# This file needs to be included before replace.mk as it modifies the
|
2005-07-15 20:27:48 +02:00
|
|
|
# USE_TOOLS variables that are used by replace.mk.
|
2005-05-02 23:10:02 +02:00
|
|
|
#
|
|
|
|
|
2007-09-10 08:36:25 +02:00
|
|
|
# These variables do not belong only to this file, but this seemed the
|
|
|
|
# best place for this paragraph.
|
|
|
|
_VARGROUPS+= imake
|
|
|
|
_USER_VARS.imake= # none
|
|
|
|
_PKG_VARS.imake= IMAKEOPTS XMKMF_FLAGS USE_IMAKE
|
|
|
|
_SYS_VARS.imake= IMAKE_TOOLS IMAKE IMAKE_MANINSTALL ${_PSU_VARS.imake}
|
|
|
|
_PSU_VARS.imake= IMAKE_MAN_SOURCE_PATH IMAKE_MAN_DIR IMAKE_LIBMAN_DIR \
|
|
|
|
IMAKE_KERNMAN_DIR IMAKE_FILEMAN_DIR IMAKE_GAMEMAN_DIR \
|
|
|
|
IMAKE_MISCMAN_DIR IMAKE_MAN_SUFFIX IMAKE_LIBMAN_SUFFIX \
|
|
|
|
IMAKE_KERNMAN_SUFFIX IMAKE_FILEMAN_SUFFIX IMAKE_GAMEMAN_SUFFIX \
|
|
|
|
IMAKE_MISCMAN_SUFFIX IMAKE_MANNEWSUFFIX
|
|
|
|
|
2005-05-02 23:10:02 +02:00
|
|
|
.if defined(USE_IMAKE)
|
2005-05-19 07:27:25 +02:00
|
|
|
USE_TOOLS+= imake xmkmf
|
2005-05-02 23:10:02 +02:00
|
|
|
.endif
|
|
|
|
|
2005-05-19 07:27:25 +02:00
|
|
|
# imake and xmkmf imply each other
|
|
|
|
.if !empty(USE_TOOLS:Mimake) || !empty(USE_TOOLS:Mxmkmf)
|
2005-07-15 20:27:48 +02:00
|
|
|
USE_TOOLS+= imake xmkmf
|
2005-05-19 07:27:25 +02:00
|
|
|
.endif
|
2005-05-02 23:10:02 +02:00
|
|
|
|
|
|
|
# Add any extra tools that may be required when using imake, e.g. gmake.
|
2005-05-22 07:21:15 +02:00
|
|
|
.if !empty(USE_TOOLS:Mimake)
|
2005-07-15 20:27:48 +02:00
|
|
|
USE_TOOLS+= ${IMAKE_TOOLS:Nimake}
|
2005-05-22 07:21:15 +02:00
|
|
|
.endif
|
2005-05-19 07:27:25 +02:00
|
|
|
|
Teach the tools framework about the following new tools:
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.
2006-07-05 06:32:10 +02:00
|
|
|
TOOLS_ARGS.imake+= ${IMAKEOPTS}
|
|
|
|
TOOLS_ARGS.xmkmf+= ${XMKMF_FLAGS}
|
2005-05-19 07:27:25 +02:00
|
|
|
|
|
|
|
TOOLS_XMKMF= ${${_TOOLS_VARNAME.xmkmf}} -a
|
|
|
|
XMKMF= ${${_TOOLS_VARNAME.xmkmf}} -a
|