Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Dany Dumont
gotm_ismer
Commits
5ab2e8dc
Commit
5ab2e8dc
authored
Mar 24, 2016
by
dumoda01
Browse files
Ajout de Rules.make
parent
ce48ebe2
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/Rules.make
0 → 100755
View file @
5ab2e8dc
#$Id: Rules.make,v 1.17 2006-10-26 13:12:46 kbk Exp $
SHELL
=
/bin/sh
# The compilation mode is obtained from $COMPILATION_MODE -
# default production - else debug or profiling
ifndef
COMPILATION_MODE
compilation
=
production
else
compilation
=
$(COMPILATION_MODE)
endif
# Force this here. Could be done in bashrc.
#FORTRAN_COMPILER=PGF90
FORTRAN_COMPILER
=
GFORTRAN
#FORTRAN_COMPILER=IFORT
DEFINES
=
-DNUDGE_VEL
DEFINES
=
-D
$(FORTRAN_COMPILER)
# What do we include in this compilation
NetCDF
=
true
SEDIMENT
=
false
SEAGRASS
=
false
BIO
=
true
FEATURES
=
FEATURE_LIBS
=
EXTRA_LIBS
=
INCDIRS
=
LDFLAGS
=
# If we want NetCDF - where are the include files and the library
NETCDFINC
=
/usr/include
NETCDFLIBDIR
=
/usr/lib64
ifdef
NETCDFINC
INCDIRS
+=
-I
$(NETCDFINC)
endif
ifdef
NETCDFLIBNAME
NETCDFLIB
=
$(NETCDFLIBNAME)
else
NETCDFLIB
=
-lnetcdff
endif
ifdef
NETCDFLIBDIR
LDFLAGS
+=
-L
$(NETCDFLIBDIR)
endif
# phony targets
.PHONY
:
clean realclean distclean dummy
# Top of this version of GOTM.
ifndef
GOTMDIR
GOTMDIR
:=
$(HOME)
/gotm_ismer
endif
CPP
=
/usr/bin/cpp
# Here you can put defines for the [c|f]pp - some will also be set depending
# on compilation mode.
ifeq
($(NetCDF),true)
DEFINES
+=
-DNETCDF_FMT
EXTRA_LIBS
+=
$(NETCDFLIB)
endif
ifeq
($(SEDIMENT),true)
DEFINES
+=
-DSEDIMENT
FEATURES
+=
extras/sediment
FEATURE_LIBS
+=
-lsediment
$(buildtype)
endif
ifeq
($(SEAGRASS),true)
DEFINES
+=
-DSEAGRASS
FEATURES
+=
extras/seagrass
FEATURE_LIBS
+=
-lseagrass
$(buildtype)
endif
ifeq
($(BIO),true)
DEFINES
+=
-DBIO
FEATURES
+=
extras/bio
FEATURE_LIBS
+=
-lbio
$(buildtype)
endif
# Directory related settings.
ifndef
BINDIR
BINDIR
=
$(GOTMDIR)
/bin
endif
ifndef
LIBDIR
LIBDIR
+=
$(GOTMDIR)
/lib/
$(FORTRAN_COMPILER)
endif
ifndef
MODDIR
#MODDIR = $(GOTMDIR)/modules
MODDIR
=
$(GOTMDIR)
/modules/
$(FORTRAN_COMPILER)
endif
INCDIRS
+=
-I
/usr/local/include
-I
$(GOTMDIR)
/include
-I
$(MODDIR)
# Normaly this should not be changed - unless you want something very specific.
# The Fortran compiler is determined from the EV FORTRAN_COMPILER - options
# sofar NAG(linux), FUJITSU(Linux), DECF90 (OSF1 and likely Linux on alpha),
# SunOS, PGF90 - Portland Group Fortran Compiler (on Intel Linux).
# Sets options for debug compilation
ifeq
($(compilation),debug)
buildtype
=
_debug
DEFINES
+=
-DDEBUG
$(STATIC)
FLAGS
=
$(DEBUG_FLAGS)
endif
# Sets options for profiling compilation
ifeq
($(compilation),profiling)
buildtype
=
_prof
DEFINES
+=
-DPROFILING
$(STATIC)
FLAGS
=
$(PROF_FLAGS)
endif
# Sets options for production compilation
ifeq
($(compilation),production)
buildtype
=
_prod
DEFINES
+=
-DPRODUCTION
$(STATIC)
FLAGS
=
$(PROD_FLAGS)
endif
include
$(GOTMDIR)/compilers/compiler.$(FORTRAN_COMPILER)
#DEFINES += -DREAL_4B=$(REAL_4B)
#ifeq ($(FORTRAN_COMPILER),XLF)
#DEFINES:=-WF,"$(DEFINES)"
#DEFINES=-WF,"-DXLF -DNETCDF_FMT -DSEAGRASS -DFORTRAN95 -DPRODUCTION -DREAL_4B=real\(4\)"
#endif
# For making the source code documentation.
PROTEX
=
protex
-b
-n
-s
.SUFFIXES
:
.SUFFIXES
:
.F90
LINKDIR
=
-L
$(LIBDIR)
CPPFLAGS
=
$(DEFINES)
$(INCDIRS)
FFLAGS
=
$(DEFINES)
$(FLAGS)
$(MODULES)
$(INCDIRS)
$(EXTRAS)
F90FLAGS
=
$(FFLAGS)
LDFLAGS
+=
$(FFLAGS)
$(LINKDIR)
#
# Common rules
#
ifeq
($(can_do_F90),true)
%.o
:
%.F90
$(FC)
$(F90FLAGS)
$(EXTRA_FFLAGS)
-c
$<
-o
$@
else
%.f90
:
%.F90
# $(CPP) $(CPPFLAGS) $< -o $@
$(F90_to_f90)
%.o
:
%.f90
$(FC)
$(F90FLAGS)
$(EXTRA_FFLAGS)
-c
$<
-o
$@
endif
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment