b26519d8a4
* Get rid of an explicit check for ${_IMAKE_MAKE} == ${GMAKE} in bsd.pkg.mk to check for whether we need to depend on gmake or not. Instead, we now note in Linux.mk that packages that need imake will also need to use gmake by setting _IMAKE_TOOLS+=gmake. * Push the definition of MAKE_PROGRAM from bsd.pkg.mk into make.mk where it's closer to related code.
97 lines
3.3 KiB
Makefile
97 lines
3.3 KiB
Makefile
# $NetBSD: imake.mk,v 1.1 2005/05/02 21:10:03 jlam Exp $
|
|
#
|
|
# This Makefile fragment handles packages that need imake and xmkmf
|
|
# to build X11-related packages. The correct imake and xmkmf tools
|
|
# are placed under ${TOOLS_DIRS}/bin, so that they may be invoked by
|
|
# their bare names. The tools are chosen based on which type of X11
|
|
# distribution pkgsrc will be using, e.g. X11_TYPE.
|
|
#
|
|
# Variables defined by this file are:
|
|
#
|
|
# IMAKE path to imake tool + any imake-specific args
|
|
# XMKMF_CMD path to xmkmf tool + any xmkmf-specific args
|
|
# 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
|
|
#
|
|
# If they are non-empty, then a wrapper script will be created instead
|
|
# of a symlink for the corresponding tool.
|
|
#
|
|
# 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 is included by mk/tools/replace.mk and follows the same
|
|
# rules as for other replacement tools.
|
|
#
|
|
|
|
# Continue to allow USE_IMAKE until packages have been taught to use the
|
|
# new syntax.
|
|
#
|
|
.if defined(USE_IMAKE)
|
|
USE_TOOLS+= imake
|
|
.endif
|
|
|
|
# Skip the processing at the end of replace.mk. If we need to use
|
|
# imake, then we always want the clause below to trigger.
|
|
#
|
|
_TOOLS_USE_PKGSRC.imake= yes
|
|
|
|
.if !defined(TOOLS_IGNORE.imake) && !empty(USE_TOOLS:Mimake)
|
|
. if !empty(PKGPATH:Mx11/imake) || !empty(PKGPATH:Mx11/xorg-imake)
|
|
MAKEFLAGS+= TOOLS_IGNORE.imake=
|
|
. else
|
|
#
|
|
# If we're using xpkgwedge, then we need to invoke the special xmkmf
|
|
# script that will find imake config files in both ${PREFIX} and in
|
|
# ${X11BASE}.
|
|
#
|
|
. if !empty(USE_XPKGWEDGE:M[yY][eE][sS])
|
|
TOOLS_REAL_CMD.xmkmf?= ${X11PREFIX}/bin/pkgxmkmf
|
|
. endif
|
|
#
|
|
# Depending on which X11_TYPE we're using, depend on the correct package
|
|
# to pull in imake and xmkmf.
|
|
#
|
|
. if defined(X11_TYPE) && (${X11_TYPE} == "XFree86")
|
|
TOOLS_DEPENDS.imake?= imake>=4.4.0:../../x11/imake
|
|
TOOLS_REAL_CMD.imake?= ${X11PREFIX}/${X11ROOT_PREFIX}/bin/imake
|
|
TOOLS_REAL_CMD.xmkmf?= ${X11PREFIX}/${X11ROOT_PREFIX}/bin/xmkmf
|
|
. elif defined(X11_TYPE) && (${X11_TYPE} == "xorg")
|
|
TOOLS_DEPENDS.imake?= xorg-imake>=6.8:../../x11/xorg-imake
|
|
TOOLS_REAL_CMD.imake?= ${X11PREFIX}/${X11ROOT_PREFIX}/bin/imake
|
|
TOOLS_REAL_CMD.xmkmf?= ${X11PREFIX}/${X11ROOT_PREFIX}/bin/xmkmf
|
|
. else # ${X11_TYPE} == "native"
|
|
TOOLS_REAL_CMD.imake?= ${X11BASE}/bin/imake
|
|
TOOLS_REAL_CMD.xmkmf?= ${X11BASE}/bin/xmkmf
|
|
. endif
|
|
TOOLS_ARGS.imake?= ${IMAKEOPTS}
|
|
TOOLS_ARGS.xmkmf?= ${XMKMF_FLAGS}
|
|
#
|
|
# Add any extra tools that may be required when using imake, e.g. gmake.
|
|
#
|
|
USE_TOOLS+= ${_IMAKE_TOOLS:Nimake}
|
|
#
|
|
# Define IMAKE and XMKMF_CMD and create wrappers/symlinks corresponding
|
|
# to imake and xmkmf.
|
|
#
|
|
. if !empty(TOOLS_ARGS.imake)
|
|
TOOLS_WRAP+= imake
|
|
. else
|
|
TOOLS_SYMLINK+= imake
|
|
. endif
|
|
. if !empty(TOOLS_ARGS.xmkmf)
|
|
TOOLS_WRAP+= xmkmf
|
|
. else
|
|
TOOLS_SYMLINK+= xmkmf
|
|
. endif
|
|
${_TOOLS_VARNAME.imake}= ${TOOLS_REAL_CMD.imake} ${TOOLS_ARGS.imake}
|
|
${_TOOLS_VARNAME.xmkmf}= ${TOOLS_REAL_CMD.xmkmf} ${TOOLS_ARGS.xmkmf}
|
|
XMKMF= ${${_TOOLS_VARNAME.xmkmf}} -a
|
|
. endif
|
|
.endif
|