aboutsummaryrefslogtreecommitdiffstats
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>