extmakefile

Modify makefile for use with EXTREME data sets

Description:

This is a simple filter which takes a Starlink makefile as input and writes as output a file which provides some of the changes required for EXTREME use. Not all the requisite changes can be made however, and the resulting file will need some edits to be made by hand.

The changes it attempts to make are as follows:

If it is unable to make any of the modifications it would like to, it will print an explanatory message saying what it could not do.

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.

Usage:

extmakefile < makefile > makefile.new