Opened 5 years ago

Closed 5 years ago

#824 closed defect (Fixed)

Updated makefile configuration files

Reported by: arango Owned by:
Priority: major Milestone: Release ROMS/TOMS 3.8
Component: Nonlinear Version: 3.8
Keywords: Cc:

Description

Updated all the makefile configuration files (*.mk) in the Compilers sub-directory to include the following initialization of the LIBS macro:

            LIBS := $(SCRATCH_DIR)/libNLM.a         # cyclic dependencies

It is done to overcome the cyclic dependencies with files in the ROMS/Utility sub-directory. For some ROMS algorithms and operating system like Linux, the ROMS nonlinear model library libNLM.a is needed at the beginning and end of the library list during linking to resolve any cyclic dependencies.

Notice that it is easy to check the libraries and LIBS macros with the build script for the beginning and end of the list respectively:

build_roms.sh -p libraries
build_roms.sh -p LIBS

or

build_roms.bash -p libraries
build_roms.bash -p LIBS

the above are useful commands with the build script when having problems linking. Give it a try. We can check any macro or environmental variable used in the ROMS makefile.

WARNING: If you have a customized version of any of those configurations files, you just need to add the above LIBS: = macro initialization in the top section of such file in the root source directory or any other directory specified in the build script. For example, in build_roms.sh we have a choice for such files:

# Set path of the directory containing makefile configuration (*.mk) files.
# The user has the option to specify a customized version of these files
# in a different directory than the one distributed with the source code,
# ${MY_ROMS_SRC}/Compilers. If this is the case, you need to keep these
# configurations files up-to-date.

 setenv COMPILERS            ${MY_ROMS_SRC}/Compilers
#setenv COMPILERS            ${HOME}/Compilers/ROMS

Change History (1)

comment:1 by arango, 5 years ago

Resolution: Fixed
Status: newclosed
Note: See TracTickets for help on using tickets.