-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
101 lines (64 loc) · 2.92 KB
/
Copy pathMakefile
File metadata and controls
101 lines (64 loc) · 2.92 KB
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
# 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 = /work/kaplan_lab/easybuild/software/netCDF-Fortran/4.6.1-gompi-2024a
# 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
# ---------------------------------------------
PASTESOILCODE_OBJS = pastesoilcode.o
PASTESOIL_OBJS = pastesoil.o
NCPASTE_OBJS = ncpaste.o
PASTECOORDS_OBJS = pastecoords.o
MAKETHICKNESS_OBJS = makethickness.o
MASKLANDMASK_OBJS = masklandmask.o
MASKLANDMASK_BYTE_OBJS = masklandmask_byte.o
MASKANDPACK_OBJS = mask-and-pack.o
SOILCALC_OBJS = parametersmod.o \
pedotransfermod.o \
soilpropertiesmod.o \
soilcalc.o
SOILCALC_POINT_OBJS = parametersmod.o \
pedotransfermod.o \
soilpropertiesmod.o \
soilcalc_point.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:: pastesoilcode ncpaste pastesoil pastecoords makethickness masklandmask masklandmask_byte soilcalc soilcalc_point
pastesoilcode: $(PASTESOILCODE_OBJS)
$(FC) $(FCFLAGS) -o pastesoilcode $(PASTESOILCODE_OBJS) $(LDFLAGS) $(LIBS)
pastesoil: $(PASTESOIL_OBJS)
$(FC) $(FCFLAGS) -o pastesoil $(PASTESOIL_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)
makethickness: $(MAKETHICKNESS_OBJS)
$(FC) $(FCFLAGS) -o makethickness $(MAKETHICKNESS_OBJS) $(LDFLAGS) $(LIBS)
masklandmask: $(MASKLANDMASK_OBJS)
$(FC) $(FCFLAGS) -o masklandmask $(MASKLANDMASK_OBJS) $(LDFLAGS) $(LIBS)
masklandmask_byte: $(MASKLANDMASK_BYTE_OBJS)
$(FC) $(FCFLAGS) -o masklandmask_byte $(MASKLANDMASK_BYTE_OBJS) $(LDFLAGS) $(LIBS)
mask-and-pack: $(MASKANDPACK_OBJS)
$(FC) $(FCFLAGS) -o mask-and-pack $(MASKANDPACK_OBJS) $(LDFLAGS) $(LIBS)
soilcalc: $(SOILCALC_OBJS)
$(FC) $(FCFLAGS) -o soilcalc $(SOILCALC_OBJS) $(LDFLAGS) $(LIBS)
soilcalc_point: $(SOILCALC_POINT_OBJS)
$(FC) $(FCFLAGS) -o soilcalc_point $(SOILCALC_POINT_OBJS) $(LDFLAGS) $(LIBS)
clean::
-rm *.o *.mod pastesoilcode ncpaste pastesoil pastecoords makethickness masklandmask masklandmask_byte soilcalc soilcalc_point