source: flexpart.git/flexpart_code/grib2nc4/Makefile @ 94106e2

FPv9.3.2
Last change on this file since 94106e2 was 94106e2, checked in by Gerald Klinkl <gerald.klinkl@…>, 6 years ago

Update Makefile to work with environment modules

  • Property mode set to 100644
File size: 3.2 KB
Line 
1
2FC = gfortran
3
4# Location of FLEXPART source directory
5FLEXPART_SRC = ..
6
7
8BINARY = grib2nc4
9CMP_BINARY = nc4cmp
10OBJS = processmetfields.o verttransform_grib2nc4_ecmwf.o verttransform_grib2nc4_gfs.o
11FPMODOBJS_ = par_mod.o com_mod.o class_vtable_mod.o cmapf_mod.o conv_mod.o
12FLXPRTOBJS_ = detectformat.o grib2check.o shift_field_0.o gridcheck.o \
13             readwind.o readwind_nests.o calcpar.o calcpar_nests.o \
14             shift_field.o pbl_profile.o scalev.o obukhov.o \
15             richardson.o ew.o getvdep.o calcpv.o obukhov_gfs.o \
16             richardson_gfs.o getvdep_nests.o calcpv_nests.o psim.o psih.o \
17             qvsat.o caldate.o getrb.o raerod.o getrc.o partdep.o \
18             verttransform.o verttransform_nests.o readwind_gfs.o \
19             calcpar_gfs.o verttransform_gfs.o gridcheck_gfs.o
20
21
22# VPATH = ${FLEXPART_SRC}
23FPMODOBJS=$(FPMODOBJS_:%=$(FLEXPART_SRC)/%)
24FLXPRTOBJS=$(FLXPRTOBJS_:%=$(FLEXPART_SRC)/%)
25INCPATH = -I$(PREFIX)/include
26LIBPATH = -L$(PREFIX)/lib
27FFLAGS = -O2 -mcmodel=medium $(INCPATH) -I$(FLEXPART_SRC)
28
29
30### NetCDF link flags - use the first one for dynamic libs, the second
31### one for static libs
32### LDFLAGS_NETCDF = -L${NETCDFF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf
33#LDFLAGS_NETCDF=-static -L${NETCDFF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf -lnetcdf -L${HDF5}/lib -lhdf5_fortran -lhdf5_hl -lhdf5hl_fortran -lhdf5 -ldl -lz
34### LDFLAGS = -L${GRIBAPI}/lib -lgrib_api_f90 -lgrib_api ${LDFLAGS_NETCDF} -ljasper -L${FLEXPART_SRC}
35LDFLAGS = $(FFLAGS) $(LIBPATH) $(LIBPATH1) -lgrib_api_f90 -lgrib_api -ljasper -lnetcdff -lnetcdf -lnetcdf -lhdf5_hl -lhdf5 -ldl -lm -lcurl
36
37
38#------------ Creating the binary ------------------
39
40${BINARY} : ${BINARY}.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS}
41        ${FC} -o ${BINARY} ${BINARY}.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS} ${LDFLAGS}
42
43${BINARY}.o : ${BINARY}.F90 fp2nc4io_mod.mod ${FPMODOBJS} Makefile
44        ${FC} -c ${BINARY}.F90 ${FFLAGS} ${INCLUDES}
45
46#-----------  NC4 compare ------------------------
47${CMP_BINARY} : ${CMP_BINARY}.o
48        ${FC} -o ${CMP_BINARY} ${CMP_BINARY}.o ${LDFLAGS}
49
50${CMP_BINARY}.o : ${CMP_BINARY}.F90 Makefile
51        ${FC} -c ${CMP_BINARY}.F90 ${FFLAGS} ${INCLUDES}
52
53fp2nc4io_mod.mod : ${FPMODOBJS}
54        ${FC} -c fp2nc4io_mod.F90 ${FFLAGS} ${INCLUDES}
55
56#-----------  Entries for testing ----------------
57test : clean_test test/${BINARY}_test
58        mv ${BINARY}_test test/
59        (cd test; export LD_LIBRARY_PATH=${NETCDFF}/lib:${NETCDF}/lib:${GRIBAPI}/lib:${LD_LIBRARY_PATH}; ./${BINARY}_test EL14091912 testout.nc4 w q)
60
61test/${BINARY}_test : ${BINARY}_test.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS}
62        ${FC} -o ${BINARY}_test ${BINARY}_test.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS} ${LDFLAGS}
63
64
65${BINARY}_test.o : ${BINARY}.F90 fp2nc4io_mod_test ${FPMODOBJS} Makefile
66        ${FC} -c ${BINARY}.F90 -o ${BINARY}_test.o ${FFLAGS} ${INCLUDES} -DTESTING
67
68fp2nc4io_mod_test : ${FPMODOBJS}
69        ${FC} -c fp2nc4io_mod.F90 ${FFLAGS} ${INCLUDES} -DTESTING
70
71#---------------------------------------------------
72clean :
73        rm -f *.o *.mod
74
75clean_test : clean
76        rm -f test/${BINARY}_test
77
78#---------------------------------------------------
79%.o: %.f90
80        ${FC} -c ${FFLAGS} ${INCLUDES} $<
81
82%.o: %.F90
83        ${FC} -c ${FFLAGS} ${INCLUDES} $<
Note: See TracBrowser for help on using the repository browser.
hosted by ZAMG