aboutsummaryrefslogtreecommitdiffstats
path: root/math/slatec/Makefile
blob: 4f548c449043e615cc270a6e529570c445fb2b61 (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
# New ports collection makefile for:    slatec
# Date created:     3 November 2010
# Whom:         Anton Shterenlikht
#
# $FreeBSD$
#

PORTNAME=   slatec
PORTVERSION=    4.1
CATEGORIES= math
MASTER_SITES=   NL:slatec,blas
MASTER_SITE_SUBDIR= slatec/:slatec blas/:blas
# Get d1mach.f, i1mach.f, r1mach.f from BLAS, rather than from Slatec:
# See Netlib FAQ #2.17: http://netlib.org/misc/faq.html#2.17
DISTFILES=  guide:slatec slatec_chk.tgz:slatec slatec_src.tgz:slatec \
        toc:slatec d1mach.f:blas i1mach.f:blas r1mach.f:blas
DIST_SUBDIR=    slatec
EXTRACT_ONLY=   slatec_src.tgz slatec_chk.tgz

MAINTAINER= mexas@bris.ac.uk
COMMENT=    SLATEC Common Mathematical Library

USE_LDCONFIG=   yes
USE_FORTRAN=    yes
WRKSRC=     ${WRKDIR}/src
SHLIB_MAJOR=    1

PLIST_FILES=    lib/libslatec.a lib/libslatec.so lib/libslatec.so.${SHLIB_MAJOR}
PORTDOCS=   guide toc

LDFLAGS+=   ${FFLAGS}
LDADD ?=    -lgfortran -lm
SRCCONF=    ${NONEXISTENT}
MAKE_ENV+=  LDADD="${LDADD}" SHLIB_MAJOR="${SHLIB_MAJOR}" \
        SRCCONF="${SRCCONF}"

OPTIONS_DEFINE= DOCS PROFILE

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MPROFILE}
.if defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE)
IGNORE= you have selected PROFILE option, but have also defined\
WITHOUT_PROFILE, NOPROFILE, or NO_PROFILE
.elif !exists(/usr/lib/libc_p.a)
IGNORE= you have chosen WITH_PROFILE, but have not installed the\
base system profiling libraries
.endif
PLIST_FILES+=   lib/libslatec_p.a
.else
MAKE_ENV+=  NO_PROFILE=
.endif

post-extract:
    @${CP} ${_DISTDIR}/[dir]1mach.f ${WRKSRC}
    @cd ${WRKDIR}; ${MV} dfmat.f dgvec.f duivp.f duvec.f fmat.f gvec.f \
    uivp.f uvec.f ${WRKSRC}
    @${CP} ${FILESDIR}/makefile.lib ${WRKSRC}/Makefile
    @${CP} ${FILESDIR}/makefile.test ${WRKDIR}/Makefile

TEST_VERBOSITY?=    1

check regression-test test: test-dynamic test-static

.for l in dynamic static
test-${l}: build
    @${ECHO_CMD} "****** Testing SLATEC ${l} library,"
    @${ECHO_CMD} "****** using a verbosity of ${TEST_VERBOSITY}."
    @${ECHO_CMD} "****** (The verbosity level can be selected by defining"
    @${ECHO_CMD} "****** TEST_VERBOSITY=0|1|2|3.)"
    @cd ${WRKDIR}; ${SETENV} ${MAKE_ENV} TEST_VERBOSITY="${TEST_VERBOSITY}" \
    ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} test-${l}

.endfor

post-install:
.if ${PORT_OPTIONS:MDOCS}
    @${MKDIR} ${DOCSDIR}
    @cd ${_DISTDIR}; ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}
.endif

.include <bsd.port.mk>