[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / cad / mex-wcalc

File: [cvs.NetBSD.org] / pkgsrc / cad / mex-wcalc / Makefile (download)

Revision 1.7, Sun Oct 1 13:52:17 2006 UTC (15 years ago) by rillig
Branch: MAIN
CVS Tags: pkgsrc-2009Q4-base, pkgsrc-2009Q4, pkgsrc-2009Q3-base, pkgsrc-2009Q3, pkgsrc-2009Q2-base, pkgsrc-2009Q2, pkgsrc-2009Q1-base, pkgsrc-2009Q1, pkgsrc-2008Q4-base, pkgsrc-2008Q4, pkgsrc-2008Q3-base, pkgsrc-2008Q3, pkgsrc-2008Q2-base, pkgsrc-2008Q2, pkgsrc-2008Q1-base, pkgsrc-2008Q1, pkgsrc-2007Q4-base, pkgsrc-2007Q4, pkgsrc-2007Q3-base, pkgsrc-2007Q3, pkgsrc-2007Q2-base, pkgsrc-2007Q2, pkgsrc-2007Q1-base, pkgsrc-2007Q1, pkgsrc-2006Q4-base, pkgsrc-2006Q4, cwrapper, cube-native-xorg-base, cube-native-xorg
Changes since 1.6: +9 -11 lines

Replaced mv/sed with SUBST_*. Reindented some Makefile directives.

# $NetBSD: Makefile,v 1.7 2006/10/01 13:52:17 rillig Exp $
#

.include "../../cad/wcalc/Makefile.common"
PKGNAME=	mex-${DISTNAME}
PKGREVISION=	1

COMMENT=	Matlab Based Transmission Line Analysis/Synthesis Calculator

# Only enable the matlab frontend
CONFIGURE_ARGS+=	--disable-cgi
CONFIGURE_ARGS+=	--disable-gtk1
CONFIGURE_ARGS+=	--disable-gtk2
CONFIGURE_ARGS+=	--disable-htdocs
CONFIGURE_ARGS+=	--disable-libwcalc
CONFIGURE_ARGS+=	--disable-stdio
CONFIGURE_ARGS+=	--with-matlab
CONFIGURE_ARGS+=	--without-octave
CONFIGURE_ARGS+=	--without-scilab

SUBST_CLASSES+=		mwc
SUBST_STAGE.mwc=	post-patch
SUBST_FILES.mwc=	mex-wcalc/mexopts.sh.in
SUBST_SED.mwc=		-e 's;\.\./libwcalc;${BUILDLINK_DIR}/lib;g'

# This depends on an installation of Matlab which pkgsrc does
# not have.  We should find a sane way to deal with this.  It is
# not clear if linux/solaris matlab users care to use pkgsrc
# to manage its installation or if it will always be installed
# outside of pkgsrc.

# In addition, mex-wcalc will not currently build correctly
# if you are using a non-native matlab (i.e. linux or solaris
# matlab on NetBSD).
#
# To get mex-wcalc to work under emulation you need to set up
# a cross-tool chain, build a libwcalc targeted to the same
# system as the matlab installation, and modify the mexopts.sh
# file in ${WRKSRC}/mex-wcalc to use this cross tool chain.
# Basically what it comes down to is you need to compile shared
# modules for the same os as the matlab binary.
#
ONLY_FOR_PLATFORM=	Linux-*-i386 SunOS-*-sparc*

.include "../../mk/bsd.prefs.mk"

DEF_MATLAB_ARCH=	unknown
DEF_MATLAB_MEX=	mex
DEF_MEX_SUFX=	unknown
.if ${OPSYS} == "Linux"
.  if (${MACHINE_ARCH} == "i386")
DEF_MATLAB_ARCH=	glnx86
DEF_MEX_SUFX=	mexglx
.  endif
.elif ${OPSYS} == "SunOS"
.  if (${MACHINE_ARCH} == "sparc")
DEF_MATLAB_ARCH=	sol2
DEF_MEX_SUFX=	mexsol
.  endif
.endif
MATLAB_ARCH?=	${DEF_MATLAB_ARCH}
MEX_SUFX?=	${DEF_MEX_SUFX}

MATLAB_MEX?=		${DEF_MATLAB_MEX}

PLIST_SUBST+=		MEX_SUFX=${MEX_SUFX:Q}

.if !defined(MATLAB_DIR)
MATLAB_DIR!=								\
	case ${MATLAB_MEX:Q}"" in					\
	/*)	matlab_mex=${MATLAB_MEX:Q} ;;				\
	*)	SAVEIFS="$$IFS"; IFS=:;					\
		for p in $$PATH; do					\
			${TEST} ! -x $$p/${MATLAB_MEX} ||		\
				matlab_mex=$$p/${MATLAB_MEX};		\
		done;							\
		IFS="$$SAVEIFS";					\
		;;							\
	esac;								\
	if ${TEST} -z "$$matlab_mex"; then				\
		${ECHO} "MATLAB_DIR_not_set";				\
	else								\
		$$matlab_mex -v 2>/dev/null |				\
		${AWK} 'BEGIN { s = "MATLAB_DIR_not_set" }		\
			/[ \t]MATLAB[ \t]/ { s = $$NF }			\
			END { print s }';				\
	fi
.  if empty(MATLAB_DIR:M*not_set)
MAKEVARS+=	MATLAB_DIR
.  endif
.endif

BUILDLINK_PASSTHRU_DIRS+=	${MATLAB_DIR}/extern/include
BUILDLINK_PASSTHRU_DIRS+=	${MATLAB_DIR}/simulink/include
BUILDLINK_PASSTHRU_DIRS+=	${MATLAB_DIR}/bin/${MATLAB_ARCH}

.include "../../cad/libwcalc/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"