-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
77 lines (61 loc) · 2.06 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
# EarthVM top-level Makefile
#include platform/xl.gnu
include platform/xl.mk
ESMF_LINK_FLAGS = $(ESMF_F90LINKPATHS) \
$(ESMF_F90ESMFLINKLIBS) \
$(ESMF_F90LINKOPTS) \
$(ESMF_CXXLINKOPTS) \
$(ESMF_TRACE_STATICLINKOPTS)
CPPFLAGS = -I$(ESMF_INCLUDE) \
-I$(WRF)/external/esmf_time_f90 \
-I$(WRF)/dyn_em \
-I$(WRF)/frame \
-I$(WRF)/main \
-I$(WRF)/phys \
-I$(WRF)/share \
-I$(UMWM) \
-I$(HYCOM) \
-I$(NETCDF)/include
LDFLAGS = -L$(WRF)/external/esmf_time_f90 -lesmf_time \
-L$(WRF)/external/io_netcdf -lwrfio_nf \
-L$(UMWM) -lumwm \
-L$(HYCOM) -lhycom \
-L$(ESMF_LIB) -lesmf \
-L$(NETCDF)/lib -lnetcdff
WRF_OBJS = $(WRF)/main/module_wrf_top.o \
$(WRF)/frame/module_internal_header_util.o \
$(WRF)/frame/pack_utils.o \
$(WRF)/main/libwrflib.a \
$(WRF)/external/fftpack/fftpack5/libfftpack.a \
$(WRF)/external/io_grib1/libio_grib1.a \
$(WRF)/external/io_grib_share/libio_grib_share.a \
$(WRF)/external/io_int/libwrfio_int.a \
$(WRF)/external/RSL_LITE/librsl_lite.a
export FC OMPI_FC FFLAGS CPPFLAGS LDFLAGS WRF_OBJS
.PHONY: all test clean umwm
all: hycom umwm
$(MAKE) --directory=src
$(MAKE) --directory=tests
$(MAKE) --directory=app
test:
$(MAKE) test --directory=tests
clean:
$(MAKE) clean --directory=src
$(MAKE) clean --directory=tests
$(MAKE) clean --directory=app
clean_hycom:
$(RM) hycom-2.3.01/hycom
$(RM) hycom-2.3.01/*.o
$(RM) hycom-2.3.01/*.a
$(RM) hycom-2.3.01/*.mod
clean_umwm:
$(MAKE) clean --directory=umwm
download_esmf:
git clone -b ESMF_8_0_1 https://github.com/esmf-org/esmf
download_umwm:
git clone https://github.com/umwm/umwm
hycom:
cd $(HYCOM) && ARCH=$(HYCOM_ARCH) CPP_EXTRAS="-DEOS_SIG2=1 -DEOS_7T=1 -DEARTHVM -DSTOKES" TYPE=mpi make
ar rcs $(HYCOM)/libhycom.a $(HYCOM)/*.o
umwm:
CPPFLAGS="-DMPI -DESMF" FCFLAGS="$(FFLAGS)" $(MAKE) umwm --directory=umwm