# ----------------------- FCM extract configuration file -----------------------
cfg::type                           bld
cfg::version                        1.0

# ------------------------------------------------------------------------------
# Build information
# ------------------------------------------------------------------------------

#Default value of FPP fortran preprocessor
%FPP cpp
# C preprocessor
%CPP cpp

inc arch.fcm
inc config.fcm

%CONFIG_NAME       %{ARCH}%{SUFF_DIR}
%BASE_CONFIG_PATH  %LIBO/%CONFIG_NAME
%CONFIG_PATH       %BASE_CONFIG_PATH/.config

%FFLAGS            %BASE_FFLAGS %COMPIL_FFLAGS %PARA_FFLAGS
%LD_FLAGS          %BASE_LD %PARA_LD

src::common        %PEM_COMMON
src::planet        %PEM_PLANET
src::misc_req      %PEM_MISC_REQ

bld::lib            pem

bld::outfile_ext::exe    %SUFF_NAME
bld::target              libpem.a %EXEC%SUFF_NAME
bld::exe_dep

dir::root            %CONFIG_PATH
dir::bin             %ROOT_PATH/bin

bld::tool::fpp       %FPP
bld::tool::cpp       %CPP
bld::tool::fc        %COMPILER
bld::tool::cc        %C_COMPILER
bld::tool::ld        %LINK
bld::tool::ar        %AR
bld::tool::make      %MAKE
bld::tool::fflags    %FFLAGS %INCDIR
bld::tool::cflags    %C_OPTIM %INCDIR
bld::tool::ldflags   %LD_FLAGS %LIB

bld::tool::cppflags  %CPP_FLAGS %INCDIR
bld::tool::fppflags  %FPP_FLAGS %INCDIR
bld::tool::cppkeys   %CPP_KEY %CPP_DEF
bld::tool::fppkeys   %CPP_KEY %FPP_DEF

# Example of how to set specific compiling options for a specific file
# -> this can be including in the arch.opt file
#bld::tool::fflags::phys::readaerosol         %BASE_FFLAGS %PROD_FFLAGS  %INCDIR -C hopt -pi auto

inc arch.opt

# Pre-process code before analysing dependencies
bld::pp              1

# Ignore the following dependencies
bld::excl_dep        inc::netcdf.inc
bld::excl_dep        use::netcdf
bld::excl_dep        use::typesizes
bld::excl_dep        use::ioipsl
bld::excl_dep        use::ioipsl_errioipsl
bld::excl_dep        use::ioipsl_stringop
bld::excl_dep        use::xios
bld::excl_dep        use::iaxis
bld::excl_dep        use::iaxis_attr
bld::excl_dep        use::icontext_attr
bld::excl_dep        use::idate
bld::excl_dep        use::idomain_attr
bld::excl_dep        use::ifield_attr
bld::excl_dep        use::ifile_attr
bld::excl_dep        use::ixml_tree

# Do not generate interface files
bld::tool::geninterface none

# Allow ".inc" as an extension for CPP include files
bld::infile_ext::inc  CPP::INCLUDE

# extension for module output
bld::outfile_ext::mod .mod
bld::tool::SHELL   /bin/bash
