forked from milc-qcd/milc_qcd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Make_template_scidac
130 lines (102 loc) · 3.12 KB
/
Make_template_scidac
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
125
126
127
128
129
# This is not a standalone Makefile
# It is intended to be included in other Makefiles
# It defines these macros
# HAVEQDP HAVEQIO HAVEQMP What we are compiling with
# LIBSCIDAC INCSCIDAC The -L and -I compiler and linker lists
# SCIDAC_LIBRARIES SCIDAC_HEADERS Lists for make dependencies
# Requires input macros
# MPP true if multiprocessor compilation
# QMPPAR Path to multiprocessor QMP
# QMPSNG Path to single processor QMP
# QIOPAR Path to the multiprocessor QIO package
# QIOSNG Path to the singleprocessor QIO package
# QLA Path to the QLA package
# QDP Path to the QDP package
# WANTQDP WANTQIO WANTQMP User requests (true or otherwise)
# LIBQOP INCQOP LIBDEPQOP INCDEPQOP Defined in Make_template_qop
# SciDAC module dependencies
HAVEQOP = ${WANTQOP}
ifeq ($(strip ${HAVEQOP}),true)
HAVEQDP = true
endif
ifeq ($(strip ${HAVEQDP}),true)
HAVEQIO = true #
else
HAVEQIO = ${WANTQIO}
endif
ifeq ($(strip ${HAVEQIO}),true)
HAVEQMP = true
else
HAVEQMP = ${WANTQMP}
endif
ifeq ($(strip ${HAVEQMP}),true)
CSCIDAC += -DHAVE_QMP
endif
ifeq ($(strip ${HAVEQIO}),true)
CSCIDAC += -DHAVE_QIO
endif
ifeq ($(strip ${HAVEQDP}),true)
CSCIDAC += -DHAVE_QDP
endif
ifeq ($(strip ${HAVEQOP}),true)
CSCIDAC += -DHAVE_QOP
endif
ifeq ($(strip ${MPP}),true)
QMP = ${QMPPAR}
QIO = ${QIOPAR}
else
QMP = ${QMPSNG}
QIO = ${QIOSNG}
endif
QMPINCDIR = $(strip ${QMP})/include
QIOINCDIR = $(strip ${QIO})/include
QIOLIBDIR = $(strip ${QIO})/lib
QLAINCDIR = $(strip ${QLA})/include
QLALIBDIR = $(strip ${QLA})/lib
QDPINCDIR = $(strip ${QDP})/include
QDPLIBDIR = $(strip ${QDP})/lib
QOPINCDIR = $(strip ${QOPQDP})/include
QOPLIBDIR = $(strip ${QOPQDP})/lib
IQMP = -I${QMPINCDIR}
QMPLIBDIR = $(strip ${QMP})/lib
LQMP = -L${QMPLIBDIR} -lqmp
IQIO = -I${QIOINCDIR}
LQIO = -L${QIOLIBDIR} -lqio -llime
IQLA = -I${QLAINCDIR}
LQLA = -L$(strip ${QLA})/lib \
-lqla_int -lqla_f -lqla_f3 -lqla_df -lqla_d3 -lqla_df3 \
-lqla_dq3 -lqla_q3 -lqla_d -lqla_dq -lqla_q -lqla_random \
-lqla_cmath
IQDP = -I$(strip ${QDP})/include
LQDP = -L$(strip ${QDP})/lib \
-lqdp_int -lqdp_f -lqdp_f3 -lqdp_d -lqdp_d3 -lqdp_df3 -lqdp_common
IQOP = -I${QOPINCDIR}
LQOP = -L${QOPLIBDIR} -lqopqdp
ifeq ($(strip ${HAVEQMP}),true)
LIBQMP = ${LQMP}
INCQMP = ${IQMP}
INCDEPQMP = ${QMPINCDIR}
LIBDEPQMP = ${QMPLIBDIR}
endif
ifeq ($(strip ${HAVEQIO}),true)
LIBQIO = ${LQIO}
INCQIO = ${IQIO}
INCDEPQIO = ${QIOINCDIR}
LIBDEPQIO = ${QIOLIBDIR}
endif
ifeq ($(strip ${HAVEQDP}),true)
LIBQDP = ${LQDP} ${LQLA}
INCQDP = ${IQDP} ${IQLA}
INCDEPQDP = ${QDPINCDIR} ${QLAINCDIR}
LIBDEPQDP = ${QDPLIBDIR} ${QLALIBDIR}
endif
ifeq ($(strip ${HAVEQOP}),true)
LIBQOP = ${LQOP}
INCQOP = ${IQOP}
INCDEPQOP = ${QOPINCDIR}
LIBDEPQOP = ${QOPLIBDIR}
endif
LIBSCIDAC = ${LIBQOP} ${LIBQDP} ${LIBQIO} ${LIBQMP}
INCSCIDAC = ${INCQOP} ${INCQDP} ${INCQIO} ${INCQMP}
SCIDAC_LIBRARIES = ${LIBDEPQDP} ${LIBDEPQIO} ${LIBDEPQMP} ${LIBDEPQOP}
SCIDAC_HEADERS = ${INCDEPQDP} ${INCDEPQIO} ${INCDEPQMP} ${INCDEPQOP}