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 )
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 , 15 years ago
Description: | modified (diff) |
---|---|
Resolution: | → Fixed |
Status: | new → closed |
comment:2 by , 15 years ago
Resolution: | Fixed |
---|---|
Status: | closed → reopened |
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 , 15 years ago
Resolution: | → Fixed |
---|---|
Status: | reopened → closed |
Yes, thank you. I also modified the definition of MAKE_MACROS to
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.