1 |
# This is the makefile for "test_ozonecm". For GNU Make 3.80. |
2 |
|
3 |
# Extend known suffixes: |
4 |
%.o: %.f90 |
5 |
$(COMPILE.f90) $(OUTPUT_OPTION) $< |
6 |
COMPILE.f90 = $(FC) $(F90FLAGS) -c |
7 |
|
8 |
# Directories: |
9 |
srcdir = . |
10 |
|
11 |
VPATH = ${srcdir}:${srcdir}/../phylmd:${srcdir}/../dyn3d |
12 |
|
13 |
# Compiler-dependent part: |
14 |
FC = g95 |
15 |
|
16 |
netcdf_inc_dir = /home/guez_local/include/NetCDF_g95 /home/guez_local/include |
17 |
netcdf_lib_dir = /home/guez_local/lib/NetCDF_g95 /home/guez_local/lib |
18 |
|
19 |
numer_rec_dir = /home/guez_local/lib/Numer_Rec_Lionel/r |
20 |
netcdf95_dir = /home/guez_local/lib/NetCDF95/g95 |
21 |
|
22 |
# Include flags: |
23 |
inc_flags = $(addprefix -I, ${netcdf_inc_dir} ${numer_rec_dir} ${netcdf95_dir}) |
24 |
|
25 |
# Other flags which do not affect run time performance: |
26 |
lang_flags = -ffree-form -pedantic -std=f95 -Wall -Wextra |
27 |
|
28 |
# Flags which affect run time performance: |
29 |
perf_flags = -fbounds-check -freal=nan -ftrace=full -g -O0 |
30 |
|
31 |
FFLAGS = ${inc_flags} ${perf_flags} |
32 |
F90FLAGS = ${inc_flags} ${lang_flags} ${perf_flags} |
33 |
|
34 |
LDLIBS = $(addprefix -L, ${netcdf_lib_dir} ${numer_rec_dir} ${netcdf95_dir}) -lnetcdf95 -lnetcdff -lnetcdf -lnumer_rec |
35 |
|
36 |
sources = test_ozonecm.f90 dimens_m_test.f90 comvert.f90 ozonecm.f90 phyetat0_test.f90 dimphy_test.f90 |
37 |
|
38 |
objects = $(sources:.f90=.o) |
39 |
|
40 |
# Executable file: |
41 |
execut = test_ozonecm |
42 |
|
43 |
${execut}: ${objects} |
44 |
$(FC) $(LDFLAGS) $^ $(LDLIBS) -o $@ |
45 |
|
46 |
TAGS: ${sources} |
47 |
etags -l fortran $^ |
48 |
|
49 |
.PHONY: clean clobber |
50 |
|
51 |
clean: |
52 |
rm -f ${objects} |
53 |
rm -f ${execut} |
54 |
|
55 |
clobber: clean |
56 |
rm -f *.mod ${srcdir}/depend.mk TAGS |
57 |
|
58 |
.PHONY: depend |
59 |
depend ${srcdir}/depend.mk: |
60 |
makedepf90 -Wmissing -Wconfused -I ${VPATH} -u netcdf -u numer_rec -u netcdf95 -nosrc ${sources} >${srcdir}/depend.mk |
61 |
|
62 |
# Dependencies between object files and include files: |
63 |
include ${srcdir}/depend.mk |