# $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