aboutsummaryrefslogtreecommitdiff
path: root/science/omnetpp/Makefile
blob: 5b346742dbf28b2d8894355dd087fe927fc4ac0e (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# New ports collection makefile for:	omnetpp
# Date created:				29 October 2004
# Whom:					bkoenig
#
# $FreeBSD$
#

PORTNAME=	omnetpp
PORTVERSION=	2.3p1
PORTREVISION=	1
CATEGORIES=	science
MASTER_SITES=	http://www.omnetpp.org/download/release/
DISTNAME=	${PORTNAME}-${PORTVERSION}-src
EXTRACT_SUFX=	.tgz

MAINTAINER=	bkoenig@cs.tu-berlin.de
COMMENT=	A discrete event simulation environment

USE_BISON=	yes

TCL_VERSION?=	tcl8.4
TK_VERSION?=	tk8.4

TCL_NODOT=	${TCL_VERSION:S/.//}
TK_NODOT=	${TK_VERSION:S/.//}

LIB_DEPENDS=	${TCL_NODOT}:${PORTSDIR}/lang/${TCL_NODOT} \
		${TK_NODOT}:${PORTSDIR}/x11-toolkits/${TK_NODOT} \
		expat:${PORTSDIR}/textproc/expat2

.include <bsd.port.pre.mk>

COMPONENTS=	libs progs

INSTALLS_SHLIB=	yes
HAS_CONFIGURE=	yes

LIB_FILES=	cmdenv envir nedxml sim_std tkenv

WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
CONFIGUREUSER=	${WRKSRC}/configure.user

post-extract:
	@${REINPLACE_CMD} -e 's,<malloc.h>,<stdlib.h>,' \
		${WRKSRC}/src/gned/ebnf.tab.cc ${WRKSRC}/src/gned/ebnf.y \
		${WRKSRC}/src/nedc/ebnf.tab.c ${WRKSRC}/src/nedc/ebnf.y \
		${WRKSRC}/src/nedxml/ned.tab.c ${WRKSRC}/src/nedxml/ned.y

pre-configure:
.if defined(CFLAGS)
	@${REINPLACE_CMD} -e 's,-O3 -DNDEBUG=1,${CFLAGS},' ${WRKSRC}/configure.user
.endif
	@${ECHO} "OMNETPP_ROOT=${PREFIX}" >> ${CONFIGUREUSER}
	@${ECHO} "OMNETPP_GNED_DIR=${DATADIR}/gned" >> ${CONFIGUREUSER}
	@${ECHO} "OMNETPP_PLOVE_DIR=${DATADIR}/plove" >> ${CONFIGUREUSER}
	@${ECHO} "OMNETPP_TKENV_DIR=${DATADIR}/tkenv" >> ${CONFIGUREUSER}
	@${ECHO} "OMNETPP_BITMAP_PATH=${DATADIR}/bitmaps" >> ${CONFIGUREUSER}
	@${ECHO} "TK_CFLAGS=\"-I${X11BASE}/include -I${LOCALBASE}/include/${TCL_VERSION} -I${LOCALBASE}/include/${TK_VERSION}\"" >> ${CONFIGUREUSER}
	@${ECHO} "TK_LIBS=\"-L${X11BASE}/lib -L${LOCALBASE}/lib -lX11 -l${TCL_NODOT} -l${TK_NODOT}\"" >> ${CONFIGUREUSER}
	@${ECHO} "EXPAT_CFLAGS=\"-I${LOCALBASE}/include\"" >> ${CONFIGUREUSER}
	@${ECHO} "EXPAT_LIBS=\"-L${LOCALBASE}/lib -lexpat\"" >> ${CONFIGUREUSER}
	@${ECHO} "WISH=wish${TK_VERSION}" | ${SED} 's,tk,,' >> ${CONFIGUREUSER}

post-configure:
.if defined(COMPONENTS)
	@${REINPLACE_CMD} -e 's,libs progs samples tutorials,${COMPONENTS},' \
		${WRKSRC}/Makefile
.endif

do-install:
	@${REINPLACE_CMD} -e 's,${WRKSRC}/include,${PREFIX}/include/${PORTNAME},' \
		${WRKSRC}/bin/opp_makemake
	@${REINPLACE_CMD} -e 's,${WRKSRC}/lib,${PREFIX}/lib,' \
		${WRKSRC}/bin/opp_makemake
	@${REINPLACE_CMD} -e 's,${WRKSRC}/doc,${DOCSDIR},' \
		${WRKSRC}/bin/opp_makemake
	@${REINPLACE_CMD} -e 's,${WRKSRC}/src,${DATADIR},' \
		${WRKSRC}/bin/plove
	@${MKDIR} ${PREFIX}/include/${PORTNAME} \
  		${DATADIR}/bitmaps ${DATADIR}/gned ${DATADIR}/plove ${DATADIR}/tkenv
	@${RM} ${WRKSRC}/bin/opp_makemake.bak
	@${INSTALL_PROGRAM} ${WRKSRC}/bin/gned ${PREFIX}/bin
	@${INSTALL_PROGRAM} ${WRKSRC}/bin/nedc ${PREFIX}/bin
	@${INSTALL_PROGRAM} ${WRKSRC}/bin/nedtool ${PREFIX}/bin
	@${INSTALL_PROGRAM} ${WRKSRC}/bin/seedtool ${PREFIX}/bin
	@${INSTALL_SCRIPT} ${WRKSRC}/bin/opp_* ${PREFIX}/bin
	@${INSTALL_SCRIPT} ${WRKSRC}/bin/plove ${PREFIX}/bin
	@${INSTALL_SCRIPT} ${WRKSRC}/bin/splitvec ${PREFIX}/bin
	@${INSTALL_DATA} ${WRKSRC}/bin/neddoc.xsl ${PREFIX}/bin
.for file in ${LIB_FILES}
	@${INSTALL_DATA} ${WRKSRC}/lib/*.${PORTVERSION} ${PREFIX}/lib
	@${LS} ${PREFIX}/lib/lib${file}.so.${PORTVERSION} | ${SED} s/.${PORTVERSION}// | ${XARGS} -I% ${LN} -s %.${PORTVERSION} %
.endfor
	@${INSTALL_DATA} ${WRKSRC}/bitmaps/* ${DATADIR}/bitmaps
	@${INSTALL_DATA} ${WRKSRC}/include/*.h ${PREFIX}/include/${PORTNAME}
	@${INSTALL_DATA} ${WRKSRC}/include/doxy.cfg ${PREFIX}/include/${PORTNAME}
	@${INSTALL_DATA} ${WRKSRC}/src/gned/*.tcl ${DATADIR}/gned
	@${INSTALL_DATA} ${WRKSRC}/src/plove/*.tcl ${DATADIR}/plove
	@${INSTALL_DATA} ${WRKSRC}/src/plove/*.sh ${DATADIR}/plove
	@${INSTALL_DATA} ${WRKSRC}/src/plove/demo.vec ${DATADIR}/plove
	@${INSTALL_DATA} ${WRKSRC}/src/tkenv/*.tcl ${DATADIR}/tkenv

post-install:
.if !defined(NOPORTDOCS)
	@${MKDIR} ${DOCSDIR}
	@${CP} -r ${WRKSRC}/doc/* ${DOCSDIR}
	@${FIND} ${DOCSDIR} -type f | ${XARGS} ${CHMOD} 444
.endif
	@${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>