Tweak math/qtiplot version 0.9.8.9_8
[dports.git] / math / xblas / Makefile
1 # Created by: bf@FreeBSD.org
2 # $FreeBSD$
3
4 PORTNAME=       xblas
5 PORTVERSION=    1.0.248
6 CATEGORIES=     math
7 MASTER_SITES=   NL/xblas LOCAL/bf
8 DISTNAME=       xblas
9
10 MAINTAINER=     bf@FreeBSD.org
11 COMMENT=        Extra Precise Basic Linear Algebra Subroutines (BLAS)
12
13 LICENSE=        BSD
14
15 USE_LDCONFIG=   yes
16
17 CFLAGS+=        ${MANGLING}
18 HDIR=           include/xblas
19 HEADERS=        blas_dense_proto.h blas_enum.h blas_extended.h \
20                 blas_extended_private.h blas_extended_proto.h blas_fpu.h \
21                 blas_malloc.h f2c-bridge.h
22 MAKE_ENV=       EXTRA_LIBS="-lm" LINKER="${CC}" M4="${M4}" RANLIB="${RANLIB}"
23 OPTIONS_DEFINE= SHARED STATIC DOCS
24 OPTIONS_DEFAULT=        SHARED
25 SHARED_DESC=    Build a shared library and PIC archive
26 STATIC_DESC=    Build a non-PIC archive
27 PLIST_DIRS=     ${HDIR}
28 PLIST_FILES=    ${HEADERS:S|^|${HDIR}/|}
29 SHLIB_MAJOR=    0
30 WRKSRC=         ${WRKDIR}/xblas-${PORTVERSION}
31
32 .include <bsd.port.options.mk>
33
34 M4?=    m4
35 M4_OPTS?=       #empty
36 MANGLING?=      -DCONFIG_FC_UNDERSCORE
37
38 .if ${ARCH} == "i386" || ${ARCH} == "x86_64"
39 CFLAGS+=        -Dx86
40 .endif
41
42 .if ${ARCH} == "sparc64"
43 PICFLAG=        -fPIC
44 .else
45 PICFLAG=        -fpic
46 .endif
47
48 PORTDOCS=       report.ps
49
50 .if ${PORT_OPTIONS:MSHARED}
51 PLIST_FILES+=   lib/libxblas_pic.a lib/libxblas.so lib/libxblas.so.${SHLIB_MAJOR}
52 .endif
53
54 .if ${PORT_OPTIONS:MSTATIC}
55 PLIST_FILES+=   lib/libxblas.a
56 .endif
57
58 post-patch:
59         @${REINPLACE_CMD} -E \
60         -e '/(ARCH|CC|(C|LD)FLAGS|EXTRA_LIBS|M4|M4_OPTS|RANLIB|XBLASLIB)[[:blank:]]*=/d' \
61                 ${WRKSRC}/make.inc
62 .if ${PORT_OPTIONS:MSTATIC}
63         @${CP} -af ${WRKSRC} ${WRKSRC}_STATIC
64 .endif
65         @${PRINTF} "\nCFLAGS+=\t${PICFLAG}\n" >> ${WRKSRC}/make.inc
66 # Fix parallel (-jX) builds
67         @${FIND} ${WRKSRC} -name Makefile | ${XARGS} ${REINPLACE_CMD} \
68                 -E 's/cd (.+) && (\$$\(MAKE\))/\2 -C \1/'
69
70 do-build: build-shared build-static
71
72 build-shared: patch
73 .if ${PORT_OPTIONS:MSHARED}
74         @cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} XBLASLIB="libxblas_pic.a" ${MAKE} \
75         ${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" lib ; \
76         ${CC} ${CFLAGS} ${PICFLAG} ${LDFLAGS} -shared -Wl,-x \
77         -Wl,-soname,libxblas.so.${SHLIB_MAJOR} -o libxblas.so.${SHLIB_MAJOR} \
78         -Wl,--whole-archive libxblas_pic.a -Wl,--no-whole-archive -Wl,--as-needed -lm
79 .endif
80
81 build-static: patch
82 .if ${PORT_OPTIONS:MSTATIC}
83         @cd ${WRKSRC}_STATIC; ${SETENV} ${MAKE_ENV} XBLASLIB="libxblas.a" ${MAKE} \
84         ${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" lib
85 .endif
86
87 do-install:
88         @${MKDIR} ${STAGEDIR}${PREFIX}/${HDIR}
89         @cd ${WRKSRC}/src; ${INSTALL_DATA} ${HEADERS} ${STAGEDIR}${PREFIX}/${HDIR}
90 .if ${PORT_OPTIONS:MSHARED}
91         @cd ${WRKSRC}; ${INSTALL_DATA} libxblas_pic.a \
92         libxblas.so.${SHLIB_MAJOR} ${STAGEDIR}${PREFIX}/lib
93         @${LN} -sf libxblas.so.${SHLIB_MAJOR} ${STAGEDIR}${PREFIX}/lib/libxblas.so
94 .endif
95 .if ${PORT_OPTIONS:MSTATIC}
96         @${INSTALL_DATA} ${WRKSRC}_STATIC/libxblas.a ${STAGEDIR}${PREFIX}/lib
97 .endif
98 .if ${PORT_OPTIONS:MDOCS}
99         @${MKDIR} ${STAGEDIR}${DOCSDIR}
100         @${INSTALL_DATA} ${WRKSRC}/doc/report.ps ${STAGEDIR}${DOCSDIR}
101 .endif
102
103 check regression-test test: test-shared test-static
104
105 test-shared: build
106 .if ${PORT_OPTIONS:MSHARED}
107         @cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} XBLASLIB="libxblas_pic.a" ${MAKE} \
108         ${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" tests
109 .endif
110
111 test-static: build
112 .if ${PORT_OPTIONS:MSTATIC}
113         @cd ${WRKSRC}_STATIC; ${SETENV} ${MAKE_ENV} XBLASLIB="libxblas.a" ${MAKE} \
114         ${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" tests
115 .endif
116
117 .include <bsd.port.mk>