Lines 2-119
Link Here
|
2 |
# $FreeBSD: head/benchmarks/himenobench/Makefile 401096 2015-11-09 12:59:03Z antoine $ |
2 |
# $FreeBSD: head/benchmarks/himenobench/Makefile 401096 2015-11-09 12:59:03Z antoine $ |
3 |
|
3 |
|
4 |
PORTNAME= himenobench |
4 |
PORTNAME= himenobench |
5 |
PORTVERSION= 2004.08.16 |
5 |
PORTVERSION= 2015.07.09 |
6 |
PORTREVISION= 6 |
|
|
7 |
CATEGORIES= benchmarks |
6 |
CATEGORIES= benchmarks |
8 |
MASTER_SITES= http://accc.riken.jp/secure/4502/:C http://accc.riken.jp/secure/4503/:C \ |
7 |
MASTER_SITES= http://accc.riken.jp/wp-content/uploads/2015/07/ |
9 |
http://accc.riken.jp/secure/4504/:F90 http://accc.riken.jp/secure/4505/:F77 |
8 |
DISTFILES= himenobmtxp_xl.zip himenobmtxp_l.zip \ |
10 |
DISTFILES= himenoBMTxp_xl.lzh:F77 himenoBMTxp_l.lzh:F77 himenoBMTxp_m.lzh:F77 \ |
9 |
himenobmtxp_m.zip himenobmtxp_s.zip \ |
11 |
himenoBMTxp_s.lzh:F77 cc_himenoBMTxp_xl.lzh:C cc_himenoBMTxp_l.lzh:C \ |
10 |
cc_himenobmtxp_xl.zip cc_himenobmtxp_l.zip \ |
12 |
cc_himenoBMTxp_m.lzh:C cc_himenoBMTxp_s.lzh:C f90_xp.lzh:F90 himenobmtxpa.lzh:C |
11 |
cc_himenobmtxp_m.zip cc_himenobmtxp_s.zip \ |
|
|
12 |
f90_xp.zip himenobmtxpa.zip |
13 |
DIST_SUBDIR= himeno |
13 |
DIST_SUBDIR= himeno |
14 |
|
14 |
|
15 |
MAINTAINER= ports@FreeBSD.org |
15 |
MAINTAINER= ports@FreeBSD.org |
16 |
COMMENT= Himeno bench benchmark, solves Poisson eq. with Jacobi's method |
16 |
COMMENT= Tool for measureing performance of floating point operation |
17 |
|
17 |
|
18 |
BROKEN= unfetchable |
18 |
LICENSE= LGPL20 # (or later) |
|
|
19 |
|
20 |
EXTRACT_DEPENDS= lha:${PORTSDIR}/archivers/lha |
19 |
|
21 |
|
20 |
USES= lha |
|
|
21 |
NO_WRKSUBDIR= yes |
22 |
NO_WRKSUBDIR= yes |
22 |
|
23 |
|
23 |
.if defined(WITH_ICC) |
24 |
USES= zip |
24 |
BUILD_DEPENDS= ${LOCALBASE}/intel_cc_80/bin/icc:${PORTSDIR}/lang/icc |
25 |
|
25 |
.endif |
26 |
OPTIONS_DEFINE= ICC IFC OPTIMIZED_CFLAGS |
26 |
|
27 |
OPTIONS_SUB= yes |
27 |
.if defined(WITH_IFC) |
28 |
|
28 |
USES+= fortran:ifort |
29 |
ICC_DESC= Intel C compiler support |
29 |
.else |
30 |
ICC_BUILD_DEPENDS= ${LOCALBASE}/intel_cc_80/bin/icc:${PORTSDIR}/lang/icc |
30 |
USES+= fortran |
31 |
IFC_DESC= Intel Fortran compiler support |
31 |
.endif |
32 |
IFC_USES= fortran:ifort |
32 |
|
33 |
IFC_USES_OFF= fortran |
33 |
.if defined(WITH_OPTIMIZED_FLAGS) |
34 |
OPTIMIZED_CFLAGS_CFLAGS=${OPTFLAGS} |
34 |
FFLAGS+= -O2 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations |
35 |
OPTIMIZED_CFLAGS_VARS= FFLAGS+="${OPTFLAGS}" |
35 |
CFLAGS+= -O2 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations |
|
|
36 |
.endif |
37 |
|
36 |
|
38 |
.if defined(WITH_ICC) |
|
|
39 |
CFLAGS_ICC+= -O3 -tpp7 -axN -Vaxlib |
40 |
ICC= ${LOCALBASE}/intel_cc_80/bin/icc |
37 |
ICC= ${LOCALBASE}/intel_cc_80/bin/icc |
41 |
PLIST_SUB+= WITH_ICC="" |
38 |
CFLAGS_ICC= -O3 -tpp7 -axN -Vaxlib |
42 |
.else |
|
|
43 |
PLIST_SUB+= WITH_ICC="@comment " |
44 |
.endif |
45 |
.if defined(WITH_IFC) |
46 |
FFLAGS_IFC+= -O3 -tpp7 -axN -Vaxlib -ipo |
47 |
IFC= ${LOCALBASE}/intel_fc_80/bin/ifort |
39 |
IFC= ${LOCALBASE}/intel_fc_80/bin/ifort |
48 |
PLIST_SUB+= WITH_IFC="" |
40 |
FFLAGS_IFC= -O3 -tpp7 -axN -Vaxlib -ipo |
49 |
.else |
41 |
OPTFLAGS= -O2 -ffast-math -finline-functions -fomit-frame-pointer \ |
50 |
PLIST_SUB+= WITH_IFC="@comment " |
42 |
-funroll-loops -fexpensive-optimizations |
51 |
.endif |
43 |
|
52 |
|
44 |
post-extract: |
53 |
.if defined(WITH_IFC) |
45 |
@${FIND} ${WRKSRC} -name "*.lzh" -type f -maxdepth 1 -exec lha \ |
54 |
PLIST_SUB+= WITH_GFORTRAN="@comment " |
46 |
xfpw=${WRKSRC} {} \; |
55 |
.else |
|
|
56 |
PLIST_SUB+= WITH_GFORTRAN="" |
57 |
.endif |
58 |
|
47 |
|
59 |
do-build: |
48 |
do-build: |
60 |
.if ! defined(WITH_IFC) |
49 |
# Too large |
61 |
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp himenobmtxp.f90 |
50 |
# cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
62 |
.endif |
51 |
# -o himenobmtxp_xl himenobmtxp_xl.f |
63 |
# cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_xl himenobmtxp_xl.f #Too large |
52 |
cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
64 |
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_l himenobmtxp_l.f |
53 |
-o himenobmtxp_l himenobmtxp_l.f |
65 |
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_m himenobmtxp_m.f |
54 |
cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
66 |
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_s himenobmtxp_s.f |
55 |
-o himenobmtxp_m himenobmtxp_m.f |
67 |
# cd ${WRKSRC} ; ${CC} ${CFLAGS} -DELARGE -o himenobmtxps_xl himenobmtxps.c #Too large |
56 |
cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
68 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DLARGE -o himenobmtxps_l himenobmtxps.c |
57 |
-o himenobmtxp_s himenobmtxp_s.f |
69 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DMIDDLE -o himenobmtxps_m himenobmtxps.c |
58 |
# Too large |
70 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DSMALL -o himenobmtxps_s himenobmtxps.c |
59 |
# cd ${WRKSRC} && ${CC} ${CFLAGS} -DELARGE \ |
71 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DSSMALL -o himenobmtxps_ss himenobmtxps.c |
60 |
# -o himenobmtxps_xl himenobmtxps.c |
72 |
cd ${WRKSRC} ; ${CC} ${CFLAGS} -o himenobmtxpa himenobmtxpa.c |
61 |
cd ${WRKSRC} && ${CC} ${CFLAGS} -DLARGE \ |
73 |
.if defined(WITH_IFC) |
62 |
-o himenobmtxps_l himenobmtxps.c |
74 |
# cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_xl.ifc himenobmtxp_xl.f #Too large |
63 |
cd ${WRKSRC} && ${CC} ${CFLAGS} -DMIDDLE \ |
75 |
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_l.ifc himenobmtxp_l.f |
64 |
-o himenobmtxps_m himenobmtxps.c |
76 |
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_m.ifc himenobmtxp_m.f |
65 |
cd ${WRKSRC} && ${CC} ${CFLAGS} -DSMALL \ |
77 |
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_s.ifc himenobmtxp_s.f |
66 |
-o himenobmtxps_s himenobmtxps.c |
78 |
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp.ifc himenobmtxp.f90 |
67 |
cd ${WRKSRC} && ${CC} ${CFLAGS} -DSSMALL \ |
79 |
.endif |
68 |
-o himenobmtxps_ss himenobmtxps.c |
80 |
|
69 |
cd ${WRKSRC} && ${CC} ${CFLAGS} \ |
81 |
.if defined(WITH_ICC) |
70 |
-o himenobmtxpa himenobmtxpa.c |
82 |
# cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DELARGE -o himenobmtxps_xl.icc himenobmtxps.c #Too large |
71 |
|
83 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DLARGE -o himenobmtxps_l.icc himenobmtxps.c |
72 |
post-build-IFC-off: |
84 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DMIDDLE -o himenobmtxps_m.icc himenobmtxps.c |
73 |
cd ${WRKSRC} && ${FC} ${FFLAGS} \ |
85 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DSMALL -o himenobmtxps_s.icc himenobmtxps.c |
74 |
-o himenobmtxp himenobmtxp.f90 |
86 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DSSMALL -o himenobmtxps_ss.icc himenobmtxps.c |
75 |
|
87 |
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -o himenobmtxpa.icc himenobmtxpa.c |
76 |
post-build-IFC-on: |
88 |
.endif |
77 |
# Too large |
|
|
78 |
# cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
79 |
# -o himenobmtxp_xl.ifc himenobmtxp_xl.f |
80 |
cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
81 |
-o himenobmtxp_l.ifc himenobmtxp_l.f |
82 |
cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
83 |
-o himenobmtxp_m.ifc himenobmtxp_m.f |
84 |
cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
85 |
-o himenobmtxp_s.ifc himenobmtxp_s.f |
86 |
cd ${WRKSRC} && ${IFC} ${FFLAGS_IFC} \ |
87 |
-o himenobmtxp.ifc himenobmtxp.f90 |
88 |
|
89 |
post-build-ICC-on: |
90 |
# Too large |
91 |
# cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DELARGE \ |
92 |
# -o himenobmtxps_xl.icc himenobmtxps.c |
93 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DLARGE \ |
94 |
-o himenobmtxps_l.icc himenobmtxps.c |
95 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DMIDDLE \ |
96 |
-o himenobmtxps_m.icc himenobmtxps.c |
97 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DSMALL \ |
98 |
-o himenobmtxps_s.icc himenobmtxps.c |
99 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} -DSSMALL \ |
100 |
-o himenobmtxps_ss.icc himenobmtxps.c |
101 |
cd ${WRKSRC} && ${ICC} ${CFLAGS_ICC} \ |
102 |
-o himenobmtxpa.icc himenobmtxpa.c |
89 |
|
103 |
|
90 |
do-install: |
104 |
do-install: |
91 |
# ${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_xl ${STAGEDIR}${PREFIX}/bin #Too large |
105 |
# Too large |
92 |
.if ! defined(WITH_IFC) |
106 |
# cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_xl \ |
93 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp ${STAGEDIR}${PREFIX}/bin |
107 |
# ${STAGEDIR}${PREFIX}/bin |
94 |
.endif |
108 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_l \ |
95 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_l ${STAGEDIR}${PREFIX}/bin |
109 |
${STAGEDIR}${PREFIX}/bin |
96 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_m ${STAGEDIR}${PREFIX}/bin |
110 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_m \ |
97 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_s ${STAGEDIR}${PREFIX}/bin |
111 |
${STAGEDIR}${PREFIX}/bin |
98 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxpa ${STAGEDIR}${PREFIX}/bin |
112 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_s \ |
99 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_l ${STAGEDIR}${PREFIX}/bin |
113 |
${STAGEDIR}${PREFIX}/bin |
100 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_m ${STAGEDIR}${PREFIX}/bin |
114 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxpa \ |
101 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_s ${STAGEDIR}${PREFIX}/bin |
115 |
${STAGEDIR}${PREFIX}/bin |
102 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_ss ${STAGEDIR}${PREFIX}/bin |
116 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_l \ |
103 |
.if defined(WITH_IFC) |
117 |
${STAGEDIR}${PREFIX}/bin |
104 |
# ${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_xl.ifc ${STAGEDIR}${PREFIX}/bin #Too large |
118 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_m \ |
105 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_l.ifc ${STAGEDIR}${PREFIX}/bin |
119 |
${STAGEDIR}${PREFIX}/bin |
106 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_m.ifc ${STAGEDIR}${PREFIX}/bin |
120 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_s \ |
107 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_s.ifc ${STAGEDIR}${PREFIX}/bin |
121 |
${STAGEDIR}${PREFIX}/bin |
108 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp.ifc ${STAGEDIR}${PREFIX}/bin |
122 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_ss \ |
109 |
.endif |
123 |
${STAGEDIR}${PREFIX}/bin |
110 |
.if defined(WITH_ICC) |
124 |
|
111 |
# ${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_xl.icc ${STAGEDIR}${PREFIX}/bin #Too large |
125 |
post-install-IFC-off: |
112 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_l.icc ${STAGEDIR}${PREFIX}/bin |
126 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp \ |
113 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_m.icc ${STAGEDIR}${PREFIX}/bin |
127 |
${STAGEDIR}${PREFIX}/bin |
114 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_s.icc ${STAGEDIR}${PREFIX}/bin |
128 |
|
115 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_ss.icc ${STAGEDIR}${PREFIX}/bin |
129 |
post-install-IFC-on: |
116 |
${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxpa.icc ${STAGEDIR}${PREFIX}/bin |
130 |
# Too large |
117 |
.endif |
131 |
# cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_xl.ifc \ |
|
|
132 |
# ${STAGEDIR}${PREFIX}/bin |
133 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_l.ifc \ |
134 |
${STAGEDIR}${PREFIX}/bin |
135 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_m.ifc \ |
136 |
${STAGEDIR}${PREFIX}/bin |
137 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp_s.ifc \ |
138 |
${STAGEDIR}${PREFIX}/bin |
139 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxp.ifc \ |
140 |
${STAGEDIR}${PREFIX}/bin |
141 |
|
142 |
post-install-ICC-on: |
143 |
# Too large |
144 |
# cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_xl.icc \ |
145 |
# ${STAGEDIR}${PREFIX}/bin |
146 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_l.icc \ |
147 |
${STAGEDIR}${PREFIX}/bin |
148 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_m.icc \ |
149 |
${STAGEDIR}${PREFIX}/bin |
150 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_s.icc \ |
151 |
${STAGEDIR}${PREFIX}/bin |
152 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxps_ss.icc \ |
153 |
${STAGEDIR}${PREFIX}/bin |
154 |
cd ${WRKSRC} && ${INSTALL_PROGRAM} himenobmtxpa.icc \ |
155 |
${STAGEDIR}${PREFIX}/bin |
118 |
|
156 |
|
119 |
.include <bsd.port.mk> |
157 |
.include <bsd.port.mk> |