The changes it attempts to make are as follows:
Various changes will still need to be made by hand after generating a new makefile by running this script. The principal one is splitting files between Fortran and non-Fortran ones, so that the non-Fortran files can be extracted using the old rule, but the Fortran files can be extracted using the new rule inserted by this script (the dummy target '$(FORTRAN_FILES)' is written as a placeholder for such files). This may require splitting up existing macros, for instance splitting PRIVATE_INCLUDES into PRIVATE_C_INCLUDES and PRIVATE_F_INCLUDES.
This script is not extremely intelligent - unless the makefile follows the usual pattern quite closely, the output may be in error. It is strongly advised that the input and output are compared using diff. If there are problems, it may be necessary to make the modifications by hand; this is not too arduous.