[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / math / octave

File: [cvs.NetBSD.org] / pkgsrc / math / octave / Makefile (download)

Revision 1.87, Fri Jul 30 10:36:30 2010 UTC (9 years, 2 months ago) by asau
Branch: MAIN
CVS Tags: pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3
Changes since 1.86: +2 -2 lines

"fortran" -> "fortran77" except where it is clear that it isn't F77.
"fortran" is alias of "fortran77" for now, but it will change later.

# $NetBSD: Makefile,v 1.87 2010/07/30 10:36:30 asau Exp $

DISTNAME=	octave-${OCTAVE_VER}
CATEGORIES=	math
MASTER_SITES=	ftp://ftp.octave.org/pub/octave/
EXTRACT_SUFX=	.tar.bz2

MAINTAINER=	adam@NetBSD.org
HOMEPAGE=	http://www.octave.org/
COMMENT=	High-level language, intended for numerical computations

BUILD_DEPENDS+=	bison>=1.875:../../devel/bison
BUILD_DEPENDS+=	gperf>=2.7:../../devel/gperf
DEPENDS+=	gnuplot>=3.7:../../graphics/gnuplot

OCTAVE_VER=	3.2.4
CONFLICTS+=	octave-2.*

.if (${MACHINE_ARCH} == "arm32")
BROKEN=		Internal compiler error occurs on arm32 (even with gcc-2.95.3)
.endif

PKG_DESTDIR_SUPPORT=	user-destdir

USE_GNU_READLINE=	yes
USE_LIBTOOL=		yes
USE_TOOLS+=		autoconf gsed gmake makeinfo perl pkg-config
GNU_CONFIGURE=		yes

GCC_REQD+=		3.0
USE_LANGUAGES=		c c++ fortran77

# needed for loading of shared objects such as those in the
# octave-forge package or user written ones compiled with mkoctfile
CONFIGURE_ARGS+=	--enable-dl
# shared libraries are handled automatically in pkgsrc
CONFIGURE_ARGS+=	--enable-static
CONFIGURE_ARGS+=	--disable-shared

# trick pkgsrc into real gsed, needed for "mkf77def"
TOOLS_PLATFORM.gsed=	#empty

.include "options.mk"

GNU_PLATFORM_DIR!=	${.CURDIR}/../../mk/gnu-config/config.sub ${MACHINE_GNU_PLATFORM}
PLIST_SUBST+=		GNU_PLATFORM_DIR=${GNU_PLATFORM_DIR}

INFO_FILES=	yes
OCTAVE_DOC=	faq/Octave-FAQ.ps  liboctave/liboctave.ps \
		refcard/refcard-a4.ps refcard/refcard-legal.ps \
		refcard/refcard-letter.ps

INSTALLATION_DIRS+=	share/octave/${OCTAVE_VER}/doc
UNWRAP_FILES+=		mkoctfile octave-bug src/oct-conf.h

# Doesn't work yet, needs to sort out libtool shared libraries handling:
#TEST_TARGET=	check

pre-configure:
	cd ${WRKSRC} && autoconf

post-extract:
	find ${WRKSRC}/doc -type f -name '*.info*' -print | xargs rm -f
	mkdir ${WRKSRC}/src/pic

# substitute in the real path to various bits of the toolchain because
# mkoctfile will be used potentially by users and it needs to point at the same
# compilers as were used in building octave.  We also fix up the path to sed
# otherwise we end up with the buildlink directory in mkoctfile
post-build:
	mv ${WRKSRC}/mkoctfile ${WRKSRC}/mkoctfile.bak
	sed	-e 's;"${CC}";"${CCPATH}";g' \
		-e 's;"${CXX}";"${CXXPATH}";g' \
		-e 's;"${FC}";"${FCPATH}";g' \
		-e 's@^:[ \t]*\$${SED=.*@: \$$\{SED="${SED}"\}@g' \
		${WRKSRC}/mkoctfile.bak > ${WRKSRC}/mkoctfile
	chmod a+x ${WRKSRC}/mkoctfile
	(cd ${WRKSRC}/doc/interpreter && gmake octave.ps)

post-install:
	cd ${WRKSRC}/doc/liboctave;					\
	for f in liboctave.info liboctave.info-[0-9]*; do		\
		${TEST} ! -f "$$f" ||					\
		${INSTALL_DATA} "$$f" ${DESTDIR}${PREFIX}/${PKGINFODIR};		\
	done
.for f in ${OCTAVE_DOC}
	${INSTALL_DATA} ${WRKSRC}/doc/${f} ${DESTDIR}${PREFIX}/share/octave/${OCTAVE_VER}/doc
.endfor

.include "../../audio/libsndfile/buildlink3.mk"
.include "../../devel/ncurses/buildlink3.mk"
.include "../../devel/readline/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../math/blas/buildlink3.mk"
.include "../../math/fftw/buildlink3.mk"
.include "../../math/lapack/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../x11/libX11/buildlink3.mk"

.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/bsd.pkg.mk"