forked from ARVE-Research/makesoil
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
93 lines (58 loc) · 2.51 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
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
# makefile
FC = gfortran
FCFLAGS = -ffree-form -ffree-line-length-none -ftree-vectorize -Wall
# FCFLAGS = -g -O0 -ffree-line-length-none -fcheck=all -fno-check-array-temporaries -ffpe-trap=invalid,zero,overflow,underflow -g -fbacktrace -Wall -pedantic
# use the command "nf-config --all" to find the location of your netCDF installation
# and enter the path next to " --prefix ->" on the line below
netcdf = /usr/local
# should not need to modify anything below this line
# ---------------------------------------------
NC_LIB = $(netcdf)/lib
NC_INC = $(netcdf)/include
CPPFLAGS = -I$(NC_INC)
LDFLAGS = -L$(NC_LIB)
LIBS = -lnetcdff
# ---------------------------------------------
INITSOIL_OBJS = initsoil.o
NCPASTE-DP-2D_OBJS = ncpaste-dp-2d.o
NCPASTE-DP-3D_OBJS = ncpaste-dp-3d.o
NCPASTE-LANDFRAC_OBJS = ncpaste-landfrac.o
NCPASTE_OBJS = ncpaste.o
PASTECOORDS_OBJS = pastecoords.o
PASTESOIL_OBJS = pastesoil.o
PASTESOILCODE_OBJS = pastesoilcode.o
SOILCALC_OBJS = parametersmod.o \
pedotransfermod.o \
soilpropertiesmod.o \
soilcalc.o
# ---------------------------------------------
.SUFFIXES: .o .f90 .F90 .f .mod
%.o : %.c
$(CC) $(CFLAGS) -c -o $(*F).o $(CPPFLAGS) $<
%.o : %.f
$(FC) $(FCFLAGS) -c -o $(*F).o $(CPPFLAGS) $<
%.o : %.f90
$(FC) $(FCFLAGS) -c -o $(*F).o $(CPPFLAGS) $<
%.o : %.F90
$(FC) $(FCFLAGS) -c -o $(*F).o $(CPPFLAGS) $<
all:: initsoil ncpaste-dp-2d ncpaste-dp-3d ncpaste-landfrac ncpaste pastecoords pastesoil pastesoilcode soilcalc
initsoil: $(INITSOIL_OBJS)
$(FC) $(FCFLAGS) -o initsoil $(INITSOIL_OBJS) $(LDFLAGS) $(LIBS)
ncpaste-dp-2d: $(NCPASTE-DP-2D_OBJS)
$(FC) $(FCFLAGS) -o ncpaste-dp-2d $(NCPASTE-DP-2D_OBJS) $(LDFLAGS) $(LIBS)
ncpaste-dp-3d: $(NCPASTE-DP-3D_OBJS)
$(FC) $(FCFLAGS) -o ncpaste-dp-3d $(NCPASTE-DP-3D_OBJS) $(LDFLAGS) $(LIBS)
ncpaste-landfrac: $(NCPASTE-LANDFRAC_OBJS)
$(FC) $(FCFLAGS) -o ncpaste-landfrac $(NCPASTE-LANDFRAC_OBJS) $(LDFLAGS) $(LIBS)
ncpaste: $(NCPASTE_OBJS)
$(FC) $(FCFLAGS) -o ncpaste $(NCPASTE_OBJS) $(LDFLAGS) $(LIBS)
pastecoords: $(PASTECOORDS_OBJS)
$(FC) $(FCFLAGS) -o pastecoords $(PASTECOORDS_OBJS) $(LDFLAGS) $(LIBS)
pastesoil: $(PASTESOIL_OBJS)
$(FC) $(FCFLAGS) -o pastesoil $(PASTESOIL_OBJS) $(LDFLAGS) $(LIBS)
pastesoilcode: $(PASTESOILCODE_OBJS)
$(FC) $(FCFLAGS) -o pastesoilcode $(PASTESOILCODE_OBJS) $(LDFLAGS) $(LIBS)
soilcalc: $(SOILCALC_OBJS)
$(FC) $(FCFLAGS) -o soilcalc $(SOILCALC_OBJS) $(LDFLAGS) $(LIBS)
clean::
-rm *.o *.mod pastesoilcode ncpaste pastesoil pastecoords soilcalc