How to compile Fortran 90 subroutine under CYGWIN
bo yu
enviyub2@hotmail.com
Fri May 21 12:44:00 GMT 2010
Dear all,
I am using Windows XP and have installed cygwin, in which the g++ C++ compiler are installed. I have programs written in c, Fortran 77 and Fortran 90. Now, I am trying to build in cygwin. When I type ‘make all’ in cygwin. The error message is
gcc –c runslhg.f
gcc –c intrface.f
make: *** No rule to make target ‘Testfor90.o’, needed by ‘sloshDos’. Stop
Both runslhg.f and intrface.f are written in Fortran 77. Testfor90.f90 is written in Fortran 90.Does that mean I could build fortran 90 in cygwin? I would appreciate if someone give me a hint what should I look at. Thank you.
Here is the code of ‘makefile’
----------------------------------------------------------------------------------------
#!/bin/make
SHELL = /bin/sh
CC = gcc
F77 = g77
STRIP = strip
STD_FLAGS = -O3 -Wall -pedantic -ansi
FFLAGS =
LD_FLAGS = -Wl,--stack,8000000
STD_DEF = -D_WINDOWS_ -D_GCC_
STD_INC = -I.
STD_LIB = -lg2c -L/usr/lib -lm
PRJ_NAME = sloshDos
TARGETS = $(PRJ_NAME)
CFLAGS = $(STD_FLAGS) $(STD_DEF) $(STD_INC)
############################
# FILES
############################
H_SOURCES = slosh2.h \
pack.h \
myassert.h \
myutil.h \
savellx.h \
complex.h \
clock.h \
tendian.h \
tio3.h
C_OBJECTS = slosh2.o \
pack.o \
myassert.o \
myutil.o \
savellx.o \
complex.o \
clock.o \
tendian.o \
tio3.o
F_OBJECTS = runslhg.o \
intrface.o \
Testfor90.o
C_MAIN = cstart.c
############################
# TARGETS
############################
all: $(TARGETS)
@echo ""
$(PRJ_NAME): $(C_OBJECTS) $(F_OBJECTS) $(C_MAIN) $(LIB_DEPENDS) $(H_SOURCES)
$(CC) $(C_MAIN) $(CFLAGS) $(LD_FLAGS) $(C_OBJECTS) $(F_OBJECTS) $(STD_LIB) -o $(PRJ_NAME)
$(STRIP) -s $(PRJ_NAME).exe
install:
cp *.exe ../../bin
clean:
rm -f *.o *.bak *.BAK
############################
# SUFFIXES
############################
.c.o : $(H_SOURCES)
$(CC) -c $(CFLAGS) $<
.f.o:
${F77} -c ${FFLAGS} $<
--------------------------------------------------------------------------------------------
Here is the code of ‘Testfor90.f90’
--------------------------------------------------
! Test For90
program Testfor90
implicit none
REAL cdfmin
cdfmin=0.05;
write(*,*) 'cdfmin = ',cdfmin
stop
end program Testfor90
_________________________________________________________________
The New Busy is not the old busy. Search, chat and e-mail from your inbox.
http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list