The Intel® Fortran compiler interprets the type of each input file by the file name extension.
The file extension determines whether a file gets passed to the compiler or to the linker. The following types of files are used with the ifort command:
Files passed to the compiler: .f90, .for, .f, .fpp, .i, .i90, .ftn
Typical Fortran source files have a file extension of .f90, .for, and .f. When editing your source files, you need to choose the source form, either free-source form or fixed-source form (or a variant of fixed form called tab form). You can either use a compiler option to specify the source form used by the source files (see the description for the free or fixed compiler option) or you can use specific file extensions when creating or renaming your files. For example:
The compiler assumes that files with an extension of .f90 or .i90 are free-form source files.
The compiler assumes that files with an extension of .f, .for, .ftn, or .i are fixed-form (or tab-form) files.
Files passed to the linker: .a, .lib, .obj, .o, .exe, .res, .rbj, .def, .dll
The most common file extensions and their interpretations are:
Filename | Interpretation | Action |
---|---|---|
filename.a
(Linux and Mac OS) |
Object library |
Passed to the linker. |
filename.f |
Fortran fixed-form source |
Compiled by the Intel® Fortran compiler. |
filename.fpp
|
Fortran fixed-form source |
Automatically preprocessed by the Intel Fortran preprocessor fpp; then compiled by the Intel Fortran compiler. |
filename.f90 |
Fortran free-form source |
Compiled by the Intel Fortran compiler. |
filename.F90 (Linux and Mac OS) |
Fortran free-form source |
Automatically preprocessed by the Intel Fortran preprocessor fpp; then compiled by the Intel Fortran compiler. |
filename.s
(Linux and Mac OS) |
Assembly file |
Passed to the assembler. |
filename.o
(Linux and Mac OS) |
Compiled object file |
Passed to the linker. |
When you compile from the command line, you can use the compiler configuration file to specify default directories for input libraries. To specify additional directories for input files, temporary files, libraries, and for the files used by the assembler and the linker, use compiler options that specify output file and directory names.