---
name: "f77"
section: "1"
platform: "linux"
package: "f77reorder"
version: "2.27-2"
release: "Debian 2.1 (Slink)"
platforms: ["linux"]
url: "https://new.carta.tech/f77"
---

# f77(1)

f77-style shell script to compile and load fortran, C, and assembly code

## NAME

f77 - f77-style shell script to compile and load fortran, C, and assembly code

## SYNOPSIS

**f77** *\[options\] files ...*\

## DESCRIPTION

This manual page documents briefly the **f77** command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

**f77** is a style shell script to compile and load fortran, C, and assembly codes. It is based on a f77 script which came with earlier versions of Slackware. It got improved to be a little more resistant to some fortran 77 extensions, not handled by f2c, so far:

- **•**

  DATA statements can now be placed anywhere in the subroutine initialization code.

- **•**

  include's are always replaced by '#include'

- **•**

  Line continuation of the form \<tab\>\<digit\> is allowed.

- **•**

  The bitfunctions ibset, ibclr, btest, ishft, iand and ior  are available in an external library. (They have to be declared in the subroutine header if one wants to use them!).

- **•**

  variable initialization in the variable definitions are also possible now. f77reorder converts them to definitions followed by data statements as the f77 standards requests.

- **•**

  Common Block definitions which are continues over lines don't have to have a comma separating variables over the line break.  f77reorder does insert it.

## OPTIONS

- **-h, --help**

  Show summary of options.

- **-o** *file*

  Override default executable name a.out.

- **-c**

  Do not call linker, leave relocatables in \*.o.

- **-a**

  Use automatic variables as default.

- **-GD**

  uncomment D comments.

- **-S**

  leave assembler output on file.s.

- **-l***library*

  Use the library named *library*  when linking.

- **-Wl***,option*

  Pass option *option*  to the linker.

- **-u**

  Complain about undeclared variables.

- **-w**

  Omit all warning messages.

- **-w66**

  Omit Fortran 66 compatibility warning messages.

- **-cf** *opt*

  Pass options *opt*  to the C compiler

- **-f2c** *opt*

  Pass options *opt*  to f2c.

- **--keepC**

  Keep original C files for better debugging.

- **--commainsert**

  Insert commas between continued lines of common blocks  if missing - might fail!

- **--elf**

  write elf code (linux only)

- **--aout**

  write aout code (linux only)

- **-I** *dir*

  Append directory *dir*  to the list of directories searched for include files.

- **-N***tnnn*

  allow *nnn*  entries in table *t*

- **-cpp**

  pipe through cpp

## FILES

file.f  FORTRAN source file\
 file.c  C source file\
 file.s  Assembly language file\
 file.e  efl source file

## SEE ALSO

**[gcc(1)](/gcc/1.md),** **[f2c(1)](/f2c/1.md),** **[cpp(1)](/cpp/1.md),** **[ld(1)](/ld/1.md)**

## AUTHOR

Wolfgang Wander (wwc@mit.edu)

This manual page was written by Alex Romosan \<romosan@caliban.lbl.gov\>, for the Debian GNU/Linux system (but may be used by others).
