98 lines
2.8 KiB
Makefile
98 lines
2.8 KiB
Makefile
# $NetBSD: Makefile,v 1.10 2012/10/08 13:25:14 asau Exp $
|
|
#
|
|
|
|
.include "../../cad/wcalc/Makefile.common"
|
|
PKGNAME= mex-${DISTNAME}
|
|
PKGREVISION= 2
|
|
|
|
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"
|