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:
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* OS and Mac OS* X) filename.lib (Windows* OS) |
Object library |
Passed to the linker. |
filename.f filename.for filename.ftn filename.i |
Fortran fixed-form source |
Compiled by the Intel® Fortran compiler. |
filename.fpp and, on Linux, filenames with the following uppercase extensions: .FPP, .F, .FOR, .FTN |
Fortran fixed-form source |
Automatically preprocessed by the Intel Fortran preprocessor fpp; then compiled by the Intel Fortran compiler. |
filename.f90 filename.i90 |
Fortran free-form source |
Compiled by the Intel Fortran compiler. |
filename.F90 (Linux OS and Mac OS X) |
Fortran free-form source |
Automatically preprocessed by the Intel Fortran preprocessor fpp; then compiled by the Intel Fortran compiler. |
filename.s (Linux OS and Mac OS X) filename.asm (Windows) |
Assembly file |
Passed to the assembler. |
filename.o (Linux OS and Mac OS X) filename.obj (Windows 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.