File: makefile

package info (click to toggle)
dynare 4.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 40,640 kB
  • sloc: fortran: 82,231; cpp: 72,734; ansic: 28,874; pascal: 13,241; sh: 4,300; objc: 3,281; yacc: 2,833; makefile: 1,288; lex: 1,162; python: 162; lisp: 54; xml: 8
file content (305 lines) | stat: -rwxr-xr-x 8,892 bytes parent folder | download | duplicates (8)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
# -*- Makefile -*- 
# Generic makefile for IMSL, MKL, blas/lapack, and FORTRAN libraries
# Generic makefile Tao's and Daniel's C routines 
# Generic makefile for various machines
# All output is to OUT_DIR

# MACHINE
#USE_HOME=USE_HOME
#USE_LAPTOP=USE_LAPTOP 
USE_WORK_64=USE_WORK_64
#USE_WORk_64_OLD=USE_WORK_64_OLD
#USE_WORK_32=USE_WORK_32
#USE_WULF=USE_WULF

# LIBRARIES
#USE_TAO = USE_TAO
USE_MKL = USE_MKL
#USE_ATLAS = USE_ATLAS
#USE_IMSL = USE_IMSL
USE_LAPACK = USE_LAPACK
#USE_FORTRAN = USE_FORTRAN
USE_MATH = USE_MATH
USE_GSL = USE_GLS
#USE_GSL_CBLAS = USE_GSL_CBLAS

# MACHINE DEPENDENT DIRECTORIES 

# HOME
ifdef USE_HOME
WORK_DIR =$(HOME)/data/flash/c-code
OUT_DIR = $(WORK_DIR)/utilities/DWCcode/test_routines/matrix_test/c++

#CC = /opt/intel/cc/10.1.018/bin/icc
CC = g++
FC = gfortran
CFLAGS = -g -static

TAO_DIR = $(WORK_DIR)/utilities/TZCcode
IMSL_BASE_DIR = /opt/vni/CTT6.0

GSL_INCLUDE_DIR = /usr/local/include/gsl
GSL_LIBS_DIR = /usr/local/lib

LAPACK_LIBS_DIR = $(HOME)/lapack-3.2/lib4.2.4
LAPACK_LIBS = -llapack_linux -lblas_linux

MKL_BASE_DIR = /opt/intel/Compiler/11.0/081/mkl
MKL_LIBS_DIR = $(MKL_BASE_DIR)/lib/32
MKL_LIBS = -lmkl_lapack -lmkl_ia32 -lguide

ATLAS_LIBS_BASE = $(HOME)/atlas-3.8.3/lib-atlas
ATLAS_LIBS = -llapack -lptf77blas -lptcblas -latlas

NPSOL_DIR = $(HOME)/npsol-5.0/lib

FORTRAN_LIBS = /usr/lib/gcc/i486-linux-gnu/4.2.4/libgfortran.a
endif

# LAPTOP
ifdef USE_LAPTOP
WORK_DIR =$(HOME)/data/svn_working/trunk
OUT_DIR = $(WORK_DIR)/dw_utilities/test_routines/matrix_test/c++

CC = g++
FC = gfortran
CFLAGS = -g -static

TAO_DIR = $(WORK_DIR)/utilities/TZCcode
IMSL_BASE_DIR = /opt/vni/CTT6.0

GSL_INCLUDE_DIR = /usr/local/include/gsl

GSL_LIBS_DIR = /usr/local/lib

MKL_BASE_DIR = /opt/intel/Compiler/11.0/081/mkl
MKL_LIBS_DIR = $(MKL_BASE_DIR)/lib/32
MKL_LIBS = -lmkl_lapack -lmkl_ia32 -lguide

NPSOL_DIR = /home/f1dfw14/data/npsol-5.0

#FORTRAN_LIBS = /usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1/libgfortran.a
endif

# WORK_64
ifdef USE_WORK_64
WORK_DIR = $(HOME)/git/utilities_dw
OUT_DIR = $(WORK_DIR)/test_routines/matrix_test/c++

CC = g++
FC = gfortran
CFLAGS = -g -static

#CC = /opt/intel/Compiler/11.0/081/bin/intel64/icc
#FC = gfortran
#CFLAGS = -g -static

TAO_DIR = $(WORK_DIR)/utilities/TZCcode

MKL_BASE_DIR = /opt/intel/Compiler/11.0/081/mkl
MKL_LIBS_DIR = $(MKL_BASE_DIR)/lib/em64t
MKL_LIBS = -lmkl_lapack -lmkl_em64t /opt/intel/Compiler/11.0/081/lib/intel64/libguide.a

LAPACK_LIBS_DIR = $(HOME)/lapack-3.2/lib4.2.4
#LAPACK_LIBS = -llapack_linux -lblas_linux
LAPACK_LIBS = -llapack_debug -lblas_debug

ATLAS_LIBS_BASE = $(HOME)/atlas-3.8.3/lib-atlas
ATLAS_LIBS = -llapack -lptf77blas -lptcblas -latlas

GSL_INCLUDE_DIR = /usr/local/include/gsl
GSL_LIBS_DIR = /usr/local/lib

NPSOL_DIR = /home/f1dfw14/data/npsol-5.0

FORTRAN_LIBS = /usr/lib/gcc/x86_64-linux-gnu/4.2.4/libgfortran.a
endif

# WORK_64_OLD
ifdef USE_WORK_64_OLD
WORK_DIR = $(HOME)/data/git/utilities_dw
OUT_DIR = $(WORK_DIR)/utilities/DWCcode/test_routines/matrix_test/c++

CC = g++
FC = gfortran
CFLAGS = -g -static

TAO_DIR = $(WORK_DIR)/utilities/TZCcode

#USE_MKL=USE_MKL
MKL_BASE_DIR = /opt/intel/mkl/9.1.021
MKL_LIBS_DIR = $(MKL_BASE_DIR)/lib/em64t
MKL_LIBS = -lmkl_lapack -lmkl_em64t lguide

GSL_INCLUDE_DIR = /usr/local/include/gsl
GSL_LIBS_DIR = /usr/local/lib

NPSOL_DIR = /home/f1dfw14/data/npsol-5.0

FORTRAN_LIBS = /usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgfortran.a
endif

# WORK_32
ifdef USE_WORK_32
WORK_DIR = $(HOME)/data/Dynare
OUT_DIR = $(HOME)/data/working/dynare

CC = /opt/intel/cc/10.0.023/bin/icc
FC = gfortran
CFLAGS = -g -static -m32

TAO_DIR = $(WORK_DIR)/utilities/TZCcode
IMSL_BASE_DIR = /opt/vni/CTT6.0

MKL_BASE_DIR = /opt/intel/mkl/9.1.021
MKL_LIBS_DIR = $(MKL_BASE_DIR)/lib/32
MKL_LIBS = -lmkl_lapack -lmkl_ia32 -lguide
endif

#WULF
ifdef USE_WULF
WORK_DIR = $(HOME)/nas02/common
CFLAGS = -g -static

MKL_BASE_DIR = /opt/intel/mkl/8.1
MKL_LIBS_DIR = $(MKL_BASE_DIR)/lib/32
MKL_LIBS = -lmkl_lapack -lmkl_ia32

IMSL_BASE_DIR = /opt/vni/CTT6.0

G2C_BASE_DIR = /usr/lib/gcc-lib/i386-redhat-linux/3.2.3
endif

#################################################################################
VPATH = $(OUT_DIR)
INCLUDE_DIR = 
LIBS_DIR = 
LIBS = 
OBJS =
#################################################################################

### GLS #########################################################################
# GSL_LIBS_DIR and GSL_INCLUDE_DIR muste be defined
ifdef USE_GSL
  INCLUDE_DIR := $(INCLUDE_DIR) -I$(GSL_INCLUDE_DIR)
  LIBS_DIR := $(LIBS_DIR) -L$(GSL_LIBS_DIR)
  LIBS := $(LIBS) -lgsl
endif
#################################################################################

### GLS CBLAS ###################################################################
# GSL_LIBS_DIR and GSL_INCLUDE_DIR muste be defined
ifdef USE_GSL_CBLAS
  ifndef USE_GSL
    INCLUDE_DIR := $(INCLUDE_DIR) -I$(GSL_INCLUDE_DIR)
    LIBS_DIR := $(LIBS_DIR) -L$(GSL_LIBS_DIR)
  endif
  LIBS := $(LIBS) -lgslcblas
endif
#################################################################################

### MKL #########################################################################
# MKL_BASE_DIR and MKL_LIBS must be defined
ifdef USE_MKL
  USE_PTHREAD = USE_PTHREAD 
  INCLUDE_DIR := $(INCLUDE_DIR) -I$(MKL_BASE_DIR)/include
  LIBS_DIR := $(LIBS_DIR) -L$(MKL_LIBS_DIR)
  LIBS := $(LIBS) $(MKL_LIBS)
endif
#################################################################################

### ATLAS #######################################################################
# ATLAS_LIBS_BASE and ATLAS_LIBS must be defined
ifdef USE_ATLAS
  USE_PTHREAD = USE_PTHREAD 
  USE_FORTRAN = USE_FORTRAN
  LIBS_DIR := $(LIBS_DIR) -L$(ATLAS_LIBS_BASE)/lib
  LIBS := $(LIBS) $(ATLAS_LIBS)
endif
#################################################################################

### BLAS / LAPACK LIBRARIES #####################################################
ifdef USE_LAPACK
  ifndef USE_MKL
    ifndef USE_ATLAS
      USE_FORTRAN = USE_FORTRAN
      ifdef LAPACK_LIBS_DIR
        LIBS_DIR := $(LIBS_DIR) -L$(LAPACK_LIBS_DIR)
      endif
      ifdef LAPACK_LIBS
        LIBS := $(LIBS) $(LAPACK_LIBS)
      else
        LIBS := $(LIBS) -llapack -lblas
      endif
    endif
  endif
endif
#################################################################################

### FORTRAN #####################################################################
# FORTRAN_LIBS should be defined
ifdef USE_FORTRAN
  ifdef FORTRAN_LIBS_DIR
    LIBS_DIR := $(LIBS_DIR) -L$(FORTRAN_LIBS_DIR)
  endif
  LIBS := $(LIBS) $(FORTRAN_LIBS)
endif
#################################################################################

### PTHREAD #####################################################################
ifdef USE_PTHREAD
  LIBS := $(LIBS) -lpthread
endif
#################################################################################

### MATH LIBRARY ################################################################
ifdef USE_MATH
  LIBS := $(LIBS) -lm
endif
#################################################################################

### DW FILES ####################################################################
MATRIX_DIR = $(WORK_DIR)/matrix
ERROR_DIR = $(WORK_DIR)/error
ARRAY_DIR = $(WORK_DIR)/arrays
STAT_DIR = $(WORK_DIR)/stat
ASCII_DIR = $(WORK_DIR)/ascii
MATH_DIR = $(WORK_DIR)/math
#################################################################################

# DW  FILES
INCLUDE_DIR := $(INCLUDE_DIR) -I$(ERROR_DIR) -I$(MATRIX_DIR) -I$(STAT_DIR) -I$(ASCII_DIR) -I$(ARRAY_DIR) -I$(MATH_DIR)
VPATH := $(VPATH) $(ERROR_DIR) $(MATRIX_DIR) $(STAT_DIR) $(ASCII_DIR) $(ARRAY_DIR) $(MATH_DIR)
OBJS := $(OBJS) dw_error.o bmatrix_blas_lapack.o matrix.o dw_rand_gsl.o dw_matrix_rand.o dw_parse_cmd.o dw_ascii.o dw_array.o dw_math.o

# PROJECT FILE
INCLUDE_DIR := $(INCLUDE_DIR)
VPATH := $(VPATH)
OBJS := $(OBJS) matrix_test_main.o matrix_test.o matrix_test_instances.o

# OUTPUT
EFILE = $(OUT_DIR)/matrix_test


#################################################################################
$(EFILE): $(OBJS)
	$(CC) $(CFLAGS) $^ $(LIBS_DIR) $(LIBS) -o $(EFILE)

%.o : %.c
	$(CC) $(CFLAGS) $(INCLUDE_DIR) -c $< -o $(OUT_DIR)/$@

%.o : %.cpp
	$(CC) $(CFLAGS) $(INCLUDE_DIR) -c $< -o $(OUT_DIR)/$@
#
#################################################################################
clean:
	rm -f $(OUT_DIR)/*.o
#
#################################################################################
#test:
#	echo '$(OUT_DIR)'
#$(EFILE): $(OBJS)
#	$(CC) $(CFLAGS) $^ $(LIBS_DIR) $(LIBS) -o $(EFILE)
#
#%.o : %.c %.h
#	echo '-c $< -o $(OUT_DIR)/$@'