Hi, FEAP users:
Recently, I have been trying to compile FEAP on Ubuntu mainly for debugging some user subroutines I wrote. All the subroutines are stored in a separate folder "AAA". There are also some old subroutines written in Fortran 77 in AAA. New ones are coded in Fortran 90. It seems all the subroutines I wrote in Fortran 90 are not compiled in the first try. So I have added following to the makefile in AAA,
FT90 = f90
SOURCES = $(wildcard $(FSOURCE)*.$(FEXT)) $(wildcard $(FSOURCE)*.$(FT90)) $(wildcard $(CSOURCE)*.$(CEXT))
OBJSF = $(SOURCES:.f=.o)
OBJSFF = $(OBJSF:.f90=.o)
OBJS = $(OBJSFF:.c=.o)
FL = built_objs
.....................
.f90.a:
@if $(FF) -c -I$(FINCLUDE) $(FFOPTFLAG) $(FOPTIONS) $*.f90 -o $*.o; then echo $*.o >> $(FL); else false; fi;
@echo "Building $*.o"
Of course, I have modified the makefile in the top folder (/...../ver84/makefile) for this new folder AAA I created.
archive:
(cd program; make archive)
(cd AAA; make archive)
.......................
So the Fortran 77 source files (.f) stored in AAA were compiled successfully as usual. However, I got errors like
/home/test/feap/ver84/Feap8_4.a(newmm.o): In function `newmm_':
newmm.f:(.text+0xbfd): undefined reference to `integgd_'
Note, here function "integgd" is defined in Fortran 90 format with the file name "integgd.f90".
I have no experience about the makefile, I really appreciate it if someone could help me out with this error.
BTW: All the subroutines were compiled with Intel Compiler on a Windows 7 machine without any error.
Thanks a lot!
K. Li