Opened 14 years ago
Closed 14 years ago
#541 closed upgrade (Done)
Cyclic dependencies in the makefile
| Reported by: | arango | Owned by: | arango |
|---|---|---|---|
| Priority: | major | Milestone: | Release ROMS/TOMS 3.6 |
| Component: | Nonlinear | Version: | 3.6 |
| Keywords: | Cc: |
Description (last modified by )
The ROMS makefile is very powerful and complex. All the ROMS algorithms are distributed in several sub-directories. Each sub-directory has it own library, which is used during the linking stage. We need to account for the circularity of these objects in the libraries. For instance, the ROMS/Utility codes (libUTIL.a) uses modules located in other sub-directories. Therefore, in the makefile we have the libUTIL.a at the beginning and near the end of the libraries list token. For example, in nonlinear model algorithms we have:
libraries := $(SCRATCH_DIR)/libUTIL.a
$(SCRATCH_DIR)/libNLM.a
$(SCRATCH_DIR)/libNLM_bio.a
$(SCRATCH_DIR)/libNLM_sed.a
$(SCRATCH_DIR)/libANA.a
$(SCRATCH_DIR)/libUTIL.a
$(SCRATCH_DIR)/libMODS.a
It turns out that with some compiler versions and computers operating systems we also need circularity in the modules token for the ROMS/Nonlinear directory modules:
modules += ROMS/Nonlinear \
ROMS/Nonlinear/Biology \
ROMS/Nonlinear/Sediment \
ROMS/Functionals \
ROMS/Utility \
ROMS/Nonlinear \
ROMS/Modules
Many thanks to Özgür Gürses for reporting this problem and to Kate for providing a family.
Change History (1)
comment:1 by , 14 years ago
| Description: | modified (diff) |
|---|---|
| Resolution: | → Done |
| Status: | new → closed |
