Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

How to compile such a big project?

luchj
Beginner
645 Views
Here is a makefile for a big project. It is build under Unix OS. When I insert all the files into one project in Compaq Visual Fortran environment, I failed to get a executable file. I will appreciate your any suggestions.
you are welcome to reply to my email address: luchj@isu.edu
Regards.
LU
The following is the content of makefile.
main.o: main.f90
grid_module.o
kinddefs_module.o
info_module.o
turb_gen_module.o
design_module.o
runge_module.o
lmpi_module.o
flux_module.o
solution_module.o
init_module.o
init_gen_module.o
io_module.o
io_gen_module.o
reconstruction_module.o
reconstruct_gen_module.o
spalart_module.o
bc_module.o
bc_gen_module.o
timing_module.o
multigrid_module.o
allocate_module.o
timeacc_module.o
bc_types.o
comprow_module.o
debug_jacobian_module.o
check_jacobian_module.o
update_module.o
force_driver.o
force_module.o
command_line_parser.o
code_status.o
turb_model.o
twod_module.o
noninertial_module.o
adjust_alpha_module.o
UPFD_Hefss.o
metrics_module.o
distance_function.o
system_extensions.o
refine_interface.o
grid_helper.o
grid_module.f90: ../LibF90/grid_module.f90
ln -sf ../LibF90/grid_module.f90 .
grid_module.o: grid_module.f90
kinddefs_module.o
bc_types.o
element_defs.o
info_module.o
allocate_module.o
adjoint_switches.o
code_status.o

kinddefs_module.f90: ../LibF90/kinddefs_module.f90
ln -sf ../LibF90/kinddefs_module.f90 .
kinddefs_module.o: kinddefs_module.f90
bc_types.f90: ../LibF90/bc_types.f90
ln -sf ../LibF90/bc_types.f90 .
bc_types.o: bc_types.f90
kinddefs_module.o
allocate_module.o
info_module.o

allocate_module.f90: ../LibF90/allocate_module.f90
ln -sf ../LibF90/allocate_module.f90 .
allocate_module.o: allocate_module.f90
kinddefs_module.o

info_module.f90: ../LibF90/info_module.f90
ln -sf ../LibF90/info_module.f90 .
info_module.o: info_module.f90
kinddefs_module.o

element_defs.f90: ../LibF90/element_defs.f90
ln -sf ../LibF90/element_defs.f90 .
element_defs.o: element_defs.f90
allocate_module.o
info_module.o
code_status.o

code_status.f90: ../LibF90/code_status.f90
ln -sf ../LibF90/code_status.f90 .
code_status.o: code_status.f90

adjoint_switches.f90: ../LibF90/adjoint_switches.f90
ln -sf ../LibF90/adjoint_switches.f90 .
adjoint_switches.o: adjoint_switches.f90
kinddefs_module.o
..................
..... I shortened the makefile due to the limitation given by the message box.
0 Kudos
3 Replies
sgongola
Beginner
645 Views
There are significant differences between makeing an
executable in unix and making an executable on a windows PC with CVF. Unless you design a makefile to be platform independent, it should not be expected to work on both platforms.

Among the differences are the expected suffixes of various file types (unix objecte are ".o", windows
uses ".obj"), case dependencies (unix cares, windows
doesn't), and commands for linking and making libraries ( ld/link, ar/lib).

You did not say from which unix you are porting. The versions i know use ln for linking file references, not for linking objects into an executable.

If you are not familiar with creating executables, you should look at the cvs manuals you received with the compiler or the copies of manuals available online at http://h18009.www1.hp.com/fortran/docs/.

sol
0 Kudos
TimP
Honored Contributor III
645 Views
Windows linkers are able to link .o files, although the Microsoft link gives a vociferous warning for each file. The makefile does have to be converted, at least to nmake format, unless you are willing to use a posix style emulation and work from the command line. Even then, you have small conversions, which aren't automatic. If you wish to make .o files, you need Makefile rules which rename the .obj files to .o automatically.
0 Kudos
Steven_L_Intel1
Employee
645 Views
It's not clear to me what you did. While the makefile you posted references .o files, I am assuming that it was the Fortran source files that you inserted in your project. I hope.
What error messages resulted from the build attempt?
0 Kudos
Reply