Opened 17 years ago

Closed 17 years ago

#52 closed request (Fixed)

Makefile enhancements

Reported by: m.hadfield Owned by: arango
Priority: minor Milestone: Release ROMS/TOMS 3.1
Component: Nonlinear Version: 3.1
Keywords: Cc:

Description

Following on from the problems with netcdf.mod & typesize.mod reported in #50 and the proposed solutions, I have come up with a simpler and (I think) better scheme for creating the scratch directory and populating it with the files it needs initially. Since the changes go beyond the scope ot ticket #50, I'm making this a separate ticket.

Modified versions of makefile and Compilers/UNICOS-sn-f90.mk are attached. Changes are:

  • File names for netCDF F90 module files are specified via variables NETCDF_MODFILE and TYPESIZES_MODFILE. Default values (netcdf.mod & typesizes.mod) are specified in makefile; these are overridden if necessary in the machine-dependent make file (eg. NETCDF.mod & TYPESIZES.mod for the T3E).
  • The netCDF module files are now prerequisites for $(SCRATCH_DIR)/MakeDepend, meaning they will be created at the start of the build process. Rules have been added to make them by copying the originals from $(NETCDF_INCDIR).
  • Targets $(SCRATCH_DIR)/MakeDepend, $(SCRATCH_DIR)/$(NETCDF_MODFILE), $(SCRATCH_DIR)/$(TYPESIZES_MODFILE) include $(SCRATCH_DIR) as an order-only prerequisite. Order-only prerequisites are indicated by the pipe ("|") symbol and explained in http://www.gnu.org/software/make/manual/make.html#Prerequisite-Types. If $(SCRATCH_DIR) is made an ordinary prerequisite, then files like $(SCRATCH_DIR)/MakeDepend get re-made every time the directory changes, which is definitely undesirable.

I think the result is quite a bit cleaner than what it replaces.

Attachments (2)

makefile (16.3 KB ) - added by m.hadfield 17 years ago.
UNICOS-sn-f90.mk (3.7 KB ) - added by m.hadfield 17 years ago.
Machine-dependent file for Cray T3E

Download all attachments as: .zip

Change History (3)

by m.hadfield, 17 years ago

Attachment: makefile added

by m.hadfield, 17 years ago

Attachment: UNICOS-sn-f90.mk added

Machine-dependent file for Cray T3E

comment:1 by arango, 17 years ago

Resolution: Fixed
Status: newclosed

I am glad that you were able to build the NetCDF library on the T3E.

Note: See TracTickets for help on using tickets.