aboutsummaryrefslogtreecommitdiff
path: root/math/simpack/Makefile
blob: 4fb4207b3582208670a30b4db4c311221f06f8af (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
112
113
114
115
116
117
118
119
120
121
122
123
124
# new ports collection Makefile for: SimPack
# Version required:    3.0
# Date created:        5 June 1997
# Whom:                Ruslan Shevchenko <rssh@cki.ipri.kiev.ua>
#
# $Id: Makefile,v 1.1.1.1 1997/06/10 08:50:17 asami Exp $
#

DISTNAME=	simpack-3.0
CATEGORIES=	math
MASTER_SITES=	ftp://ftp.cis.ufl.edu/pub/simdigest/tools/
DISTFILES=	SimPack3.tar.Z

MAINTAINER=	rssh@cki.ipri.kiev.ua

WRKSRC=	${WRKDIR}/simpack

post-build: create-libs create-scripts

do-install: do-install-bin do-install-include do-install-lib do-install-doc

post-install:
	@${SH} ${PKGDIR}/REQ
	@${LDCONFIG} -m ${PREFIX}/lib

do-install-bin:
	@for i in `${CAT} ${FILESDIR}/FILES-BIN` ; do \
	  ${INSTALL_PROGRAM} ${WRKSRC}/$$i ${PREFIX}/bin; \
	done
	@${INSTALL_SCRIPT} ${WRKDIR}/temp/sdsmt.alias ${PREFIX}/bin/sdsmt
	@${INSTALL_SCRIPT} ${WRKDIR}/temp/deq.alias ${PREFIX}/bin/deq

do-install-include:
	@${MKDIR} ${PREFIX}/include/Sim++
	@for i in `${CAT} ${FILESDIR}/FILES-INCLUDE-SIMPP` ; do      \
	  ${INSTALL_DATA} ${WRKSRC}/$$i ${PREFIX}/include/Sim++ ; \
	done
	@${MKDIR} ${PREFIX}/include/queuing
	@for i in `${CAT} ${FILESDIR}/FILES-INCLUDE-QUEUING` ; do       \
	  ${INSTALL_DATA} ${WRKSRC}/$$i ${PREFIX}/include/queuing/ ; \
	done

do-install-lib:
	@${MKDIR} ${PREFIX}/lib/Sim++/olb
	@for i in `${CAT} ${FILESDIR}/FILES-OLB` ; do                 \
	  ${INSTALL_DATA} ${WRKSRC}/$$i ${PREFIX}/lib/Sim++/olb/ ; \
	done
	@for i in `${CAT} ${FILESDIR}/DIRS-LIB` ; do \
	  ${MKDIR} ${PREFIX}/lib/SimPack/$$i ;    \
	done
	@for i in `${CAT} ${FILESDIR}/FILES-LIB` ; do                  \
	  ${INSTALL_DATA} ${WRKSRC}/$$i ${PREFIX}/lib/SimPack/$$i ; \
	done
	@${INSTALL_DATA} ${WRKDIR}/temp/libsim++.a ${PREFIX}/lib/libsim++.a
	@${INSTALL_DATA} ${WRKDIR}/temp/libsim++.so.1.0  \
					${PREFIX}/lib/libsim++.so.1.0
	@${INSTALL_DATA} ${WRKDIR}/temp/libqueuing.a ${PREFIX}/lib/libqueuing.a;
	@${INSTALL_DATA} ${WRKDIR}/temp/libqueuing.so.1.0 \
					${PREFIX}/lib/libqueuing.so.1.0 

do-install-doc:
	@for i in `${CAT} ${FILESDIR}/DIRS-SHARE` ; do \
	  ${MKDIR} ${PREFIX}/share/SimPack/$$i; \
	done
	@for i in `${CAT} ${FILESDIR}/FILES-SHARE` ; do \
	  ${INSTALL_DATA} ${WRKSRC}/$$i ${PREFIX}/share/SimPack/$$i ; \
	done

create-libs: create-lib-sim++ create-lib-queuing

create-lib-sim++:
	@${ECHO} libsim++.a
	@${MKDIR} ${WRKDIR}/temp
	@(cd ${WRKDIR}/temp;                            \
	for i in `${CAT} ${FILESDIR}/FILES-SRC-SIMPP` ; do \
	  gcc -I${WRKSRC}/func/event/include -c -O      \
		${WRKSRC}/func/event/src/$$i ;          \
	done;                                           \
	${AR} cq libsim++.a `lorder *.o | tsort -q `;   \
	${RM} *.o )
	@${ECHO} libsim++.so.1.0
	@(cd ${WRKDIR}/temp;                                   \
	for i in `${CAT} ${FILESDIR}/FILES-SRC-SIMPP` ; do        \
	  gcc -fpic -DPIC -I${WRKSRC}/func/event/include -c -O \
		 -o `basename $$i cpp`.so                      \
                 ${WRKSRC}/func/event/src/$$i ;                \
	done;                                   \
	${LD} -Bshareable -x -o libsim++.so.1.0 \
	  `lorder *.so | tsort -q ` ;           \
	${RM} *.so )

create-lib-queuing:
	@${ECHO} libqueuing.a
	@(cd ${WRKDIR}/temp;                            \
	gcc -I${WRKSRC}/func/queuing -c -O              \
	      ${WRKSRC}/func/queuing/queuing.c;         \
	${AR} cq libqueuing.a `lorder *.o | tsort -q `; \
	${RM} *.o )
	@${ECHO} libqueuing.so.1.0
	@(cd ${WRKDIR}/temp;                           \
	gcc -fpic -DPIC -I${WRKSRC}/func/queuing -c -O \
		 -o queuing.so                         \
                 ${WRKSRC}/func/queuing/queuing.c ;    \
	${LD} -Bshareable -x -o libqueuing.so.1.0      \
	         `lorder *.so | tsort -q ` ;           \
	${RM} *.so )

create-scripts: create-sdsmt-alias create-deq-alias

create-sdsmt-alias:
	@${ECHO} SDSMTLIB=${PREFIX}/lib/SimPack/func/slice/sdsmt \
                              >  ${WRKDIR}/temp/sdsmt.alias
	@${ECHO} export SDSMTLIB >> ${WRKDIR}/temp/sdsmt.alias
	@${ECHO} wish4.1 ${PREFIX}/lib/SimPack/func/slice/sdsmt/sdsmt \
		              >> ${WRKDIR}/temp/sdsmt.alias

create-deq-alias:
	@${ECHO} PATCH=${PREFIX}/lib/SimPack/constraint/differential:$$PATCH \
		           >  ${WRKDIR}/temp/deq.alias
	@${ECHO} export PATCH >> ${WRKDIR}/temp/deq.alias
	@${ECHO} ${PREFIX}/lib/SimPack/constraint/differential/deq $$*       \
			   >> ${WRKDIR}/temp/deq.alias

.include <bsd.port.mk>