-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathMakefile
49 lines (36 loc) · 1.22 KB
/
Makefile
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
MF90 = mpifort
# GNU fortran compiler
FFLAGS = -ffast-math -march=native -mtune=native -O3 -fno-range-check
# GNU fortran compiler (for debug)
# FFLAGS = -pg -Wall -pedantic -std=f95 -fbounds-check -O -Wuninitialized \
-ffpe-trap=invalid,zero,overflow -fbacktrace \
-fno-range-check
# Intel compiler
# FFLAGS = -O3 -parallel -assume byterecl
# Intel compiler (for debug)
# #FFLAGS = -O0 -g -traceback -CB -fpe0 -check uninit -std -warn all \
-check all -assume byterecl
BINDIR = ./bin
TARGET = $(BINDIR)/mc3deconv
OBJS = src/mc3deconv.o src/params.o src/mcmc.o \
src/init.o src/pt_control.o src/mt19937.o src/read_data.o \
src/calc_PPD.o src/conv.o src/temp.o src/output.o
all: $(TARGET)
$(TARGET): $(OBJS)
@if [ ! -d $(BINDIR) ]; then mkdir $(BINDIR); fi
$(MF90) $(FFLAGS) $^ -o $@
src/pt_control.o: params.mod mt19937.mod
src/mc3deconv.o: params.mod
src/mcmc.o: params.mod mt19937.mod
src/init.o: params.mod mt19937.mod
src/read_data.o: params.mod
src/calc_PPD.o: params.mod
src/temp.o: mt19937.mod
src/output.o: params.mod
clean:
-rm -f *.mod src/*.o
# General rule
$(OBJS): %.o: %.f90
$(MF90) $(FFLAGS) -c $< -o $*.o
%.mod: src/%.f90 src/%.o
@: