forked from milc-qcd/milc_qcd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Make_template_scidac
133 lines (105 loc) · 3.19 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
130
131
132
# 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
ifneq ($(strip ${QMP_BACKEND}),)
CSCIDAC += -D${QMP_BACKEND}
endif
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}