freebsd-ports/lang/ocs/Makefile
Thierry Thomas d9554c2601 The OPAL compilation system (OCS) is a set of development tools for
creating software using the algebraic programming language OPAL. The
package includes a native compiler and an interpreter.

OPAL is mainly developed at the Technical University of Berlin since
1986 and it is used for research and evaluation of language concepts,
algorithms and programming techniques.

WWW: http://uebb.cs.tu-berlin.de/opal/

PR:		ports/114511
Submitted by:	Björn König <bkoenig at cs.tu-berlin.de>
2007-09-03 21:48:38 +00:00

104 lines
3.2 KiB
Makefile

# ex:ts=8
# New ports collection makefile for: ocs
# Date created: 8 July 2007
# Whom: Björn König <bkoenig@cs.tu-berlin.de>
#
# $FreeBSD$
#
PORTNAME= ocs
PORTVERSION= 2.3k
CATEGORIES= lang
MASTER_SITES= http://uebb.cs.tu-berlin.de/opal/
DISTNAME= ${PORTNAME}-${PORTVERSION}-src
MAINTAINER= bkoenig@cs.tu-berlin.de
COMMENT= The OPAL Compilation System
BUILD_DEPENDS= ${LOCALBASE}/bin/gsed:${PORTSDIR}/textproc/gsed
WRKSRC= ${WRKDIR}/${PORTNAME}
PLIST= ${WRKDIR}/pkg-plist
# The Makefile of the source package doesn't have a 'build' target.
# It rather compiles and installs the software in a single step using
# an 'install' target. For this reason the port compiles/installs the
# software to a temporary directory at the 'do-build' stage and
# installs it manually at the 'do-install' stage.
ALL_TARGET= install
USE_BZIP2= yes
USE_TCL= yes
USE_TK= yes
USE_GMAKE= yes
USE_PERL5= yes
HAS_CONFIGURE= yes
USE_XORG= xt
USE_LDCONFIG= ${OCS}/lib/freebsd${OSREL}-${ARCH}
NOT_FOR_ARCHS= amd64 ia64
CONFIGURE_ARGS= --prefix="${WRKDIR}" \
--disable-absolute-pathes \
--with-tcl-lib="-L${LOCALBASE}/lib -ltcl${TCL_VER:S/.//}" \
--with-tcl-incl="-I${TCL_INCLUDEDIR} -I${TK_INCLUDEDIR} -I${X11BASE}/include" \
--with-tk-lib="-ltk${TK_VER:S/.//}" \
--with-tk-incl="-I${TCL_INCLUDEDIR} -I${TK_INCLUDEDIR} -I${X11BASE}/include"
MAN1= ocs.1 oc.1 genmake.1
OCS_LINKS= oasys ocs
OCS_INSTALL= bin etc lib packages
# This is the place of the temporary installation.
OCS_TEMPDIR= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
# This is the target directory of the port installation.
OCS= ${PREFIX}/${PORTNAME}
.for f in ${OCS_LINKS}
PLIST_FILES+= bin/$f
.endfor
post-patch:
.for f in src/om/scripts/oasys src/om/scripts/ocs
@${REINPLACE_CMD} "s,OCS=.*$$,OCS=\"${OCS}\"," ${WRKSRC}/$f
.endfor
@${REINPLACE_CMD} "s,\$$LIBS -ldl,\$$LIBS," ${WRKSRC}/configure
# The Makefile don't like an existing (temporary) installation directory.
# This won't hurt as long as we do a clean installation. But if you
# 'make build' several times because of an interrupted compilation then it
# is necessary to remove the directory to keep the make script satisfied.
pre-build:
@${RM} -rf ${OCS_TEMPDIR}
pre-install:
@${RM} -f ${PLIST}
@${TOUCH} ${PLIST}
.for d in ${OCS_INSTALL}
@${FIND} ${OCS_TEMPDIR}/$d -not -type d | ${SED} "s,${OCS_TEMPDIR},${PORTNAME}," >> ${PLIST}
@${FIND} -d ${OCS_TEMPDIR}/$d -type d | ${SED} "s,${OCS_TEMPDIR},@dirrmtry ${PORTNAME}," >> ${PLIST}
.endfor
@${ECHO} "@dirrmtry ${PORTNAME}" >> ${PLIST}
.if !defined(WITHOUT_EXAMPLES)
@${FIND} ${OCS_TEMPDIR}/examples -not -type d | ${SED} "s,${OCS_TEMPDIR}/examples,${EXAMPLESDIR_REL}," >> ${PLIST}
@${FIND} -d ${OCS_TEMPDIR}/examples -type d | ${SED} "s,${OCS_TEMPDIR}/examples,@dirrmtry ${EXAMPLESDIR_REL}," >> ${PLIST}
.endif
do-install:
@${MKDIR} ${OCS}
.for d in ${OCS_INSTALL}
@(cd ${OCS_TEMPDIR}; ${COPYTREE_BIN} $d ${OCS})
.endfor
.if !defined(WITHOUT_EXAMPLES)
@(cd ${OCS_TEMPDIR}/examples; ${COPYTREE_SHARE} . ${EXAMPLESDIR})
.endif
.for f in ${OCS_LINKS}
@${LN} -s ${OCS}/bin/$f ${PREFIX}/bin/$f
.endfor
.for f in ${MAN1}
@${INSTALL_MAN} ${OCS_TEMPDIR}/man/man1/$f ${MAN1PREFIX}/man/man1/
.endfor
.include <bsd.port.mk>