Opened 15 years ago

Closed 15 years ago

#377 closed bug (Fixed)

make bug on cygwin

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

Description (last modified by arango)

A few months ago, a correction was made in the makefile to correctly use

source-to-object = $(call source-dir-to-binary-dir,   \
                   $(subst .F,.o,$1))

The word 'binary' was misspelled, and is now correct. However, that fix has created a problem. I can not correclty build on Cygwin. Cygwin now creates *.obj files. The Cygwin-ifort.mk file has a catch to force ifort to make *.o not *.obj using

%.o: %.f90
	cd $(SCRATCH_DIR); $(FC) -c $(FFLAGS) $(notdir $<) /object:$(notdir $@)

However, this line is not invoked anymore. I traced it back to the makefile, and was able to get it to build correctly by modifying line 278-279 from

  $1: $2 $3
	cd $$(SCRATCH_DIR); $$(FC) -c $$(FFLAGS) $(notdir $2)

to

  $1: $2 $3
	cd $$(SCRATCH_DIR); $$(FC) -c $$(FFLAGS) $(notdir $2) /object:$(notdir $1)

Change History (3)

comment:1 by arango, 15 years ago

Description: modified (diff)
Resolution: Fixed
Status: newclosed

Yes, thank you. I also modified the definition of MAKE_MACROS to

MAKE_MACROS := $(shell echo ${HOME} | sed 's| |\\ |g')/make_macros.mk

so the file make_macros.mk is created temporarily in the user's home directory and then moved to the project directory. Previously, this file was created in the Compilers directory. This was problematic because other users in a computer system were not allowed to use a ROMS source code own by another user due to the lack of writing privileges to the Compilers directory.

comment:2 by arango, 15 years ago

Resolution: Fixed
Status: closedreopened

The change in the makefile is reversed due to the fact that not all the compilers accept the option flag /object. However, this rule is now stipulated in CYGWIN-ifort.mk to override this rule to use .o instead .obj. This a more targeted way to override such a rule.

comment:3 by arango, 15 years ago

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