aboutsummaryrefslogtreecommitdiffstats
path: root/lang/ocaml-camlidl/Makefile
blob: 249c7cf3dd4c4732c6190b6bea7582211572baec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# New ports collection makefile for:    camlidl
# Date created:     2006-07-31
# Whom:         Stanislav Sedov <ssedov@mbsd.msk.ru>
#
# $MBSDlabs$
# $FreeBSD$
#

PORTNAME=   camlidl
PORTVERSION=    1.05
PORTREVISION=   1
CATEGORIES= lang
MASTER_SITES=   http://caml.inria.fr/distrib/bazar-ocaml/
PKGNAMEPREFIX=  ocaml-
DISTFILES=  ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
        ${PORTNAME}-${PORTVERSION}.doc.html.tar.gz
EXTRACT_ONLY=   ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}

MAINTAINER= stas@FreeBSD.org
COMMENT=    A stub code generator for using C/C++ libraries from ocaml

USE_OCAML=  yes
USE_OCAMLWASH=  yes

DOCSDIR=    ${PREFIX}/share/doc/ocaml/${PORTNAME}

.include <bsd.port.pre.mk>

.if ${OSVERSION} < 500000
USE_GMAKE=  yes
.endif

post-extract:
    @${REINPLACE_CMD} -e "s,^\(OCAMLLIB=\).*,\1${PREFIX}/lib/ocaml,g" \
        -e "s,^\(BINDIR=\).*,\1${PREFIX}/bin,g" \
        -e "s,^CFLAGS=.*,#\&,g" \
        -e "s,^\(CPP=\).*,\1/usr/bin/cpp,g" \
        ${WRKSRC}/config/Makefile.unix

    @${REINPLACE_CMD} -e \
        "/^install/,/^$$/s,\([ \t]*\)cp,\1${INSTALL_SCRIPT},g" \
        ${WRKSRC}/compiler/Makefile

    @${REINPLACE_CMD} -e \
        "/^install/,/^$$/s,\([ \t]*\)cp,\1${INSTALL_DATA},g" \
        ${WRKSRC}/lib/Makefile ${WRKSRC}/runtime/Makefile.unix

    @${LN} -sf ${WRKSRC}/config/Makefile.unix ${WRKSRC}/config/Makefile

pre-install:
.if !exists(${PREFIX}/lib/ocaml/caml)
    ${MKDIR} ${PREFIX}/lib/ocaml/caml
.endif

post-install:
.if !defined(NOPORTDOCS)
    ${MKDIR} ${DOCSDIR}
    ${GZCAT} ${_DISTDIR}/${PORTNAME}-${PORTVERSION}.doc.html.tar.gz \
        | ${TAR} -C ${DOCSDIR} -xf -
    ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DOCSDIR}
    ${FIND} ${DOCSDIR}/ -type f -exec ${CHMOD} ${SHAREMODE} {} \;
.endif

test:
    @${ECHO_CMD} "Testing IDL library"
    @${REINPLACE_CMD} -e "s,^\(CCPP=\).*,\1${CXX},g" \
        ${WRKSRC}/tests/Makefile
    cd ${WRKSRC}/tests && ${SETENV} ${MAKE_ENV} ${MAKE} all

.include <bsd.port.post.mk>