MAMOLD(1)

NAME
mamold - convert make abstract machine input to an make makefile

SYNOPSIS
mamold [ -2-g ] [ -2-x path ] [ target ... ]

DESCRIPTION
mamold converts an nmake(1) makefile to old make(1) compatable format on the standard output. mamold accepts nmake target arguments and options and should be run in the same directory as nmake would have been run. Only active targets are listed in the output makefile.

The -2-g options (pass 2) causes only dependency graph information to be output in lines of the form
    	target : prerequisites ...
The -2-x path option (pass 2) specifies an absolute (rooted at /) directory path to be excluded. Any target or prerequisite file with the path prefix path is omitted from the make makefile target and prerequisite lists. Multiple -2-x options accumulate. Targets with the path prefix /usr/include are always excluded.

The conversion process is divided into two passes. The first pass is nmake with the -o oldfile option set. The second pass constructs the make makefile on the standard output based on information supplied by the first pass.

Symbolic information is preserved where possible in the output makefile. Comments, however, are lost.

Most makefiles can be converted using either mamold or mamold install clobber print ....

FILES
Makefile, makefile

DIAGNOSTICS
Messages from mamold are preceded by mamold: ; all other messages are produced by nmake .

SEE ALSO
nmake(1), mamnew(1), make(1)

CAVEATS
Absolute directory path names are given symbolic names. Common absolute directory prefixes are named COM.nn and other absolute directory paths are named DIR.nn. It may be necessary to redefine the COM.nn directory paths when porting makefiles to other systems.

Certain actions may require the make command line variable definition
    	newline='$(null)
    	'
here documents and multi-line shell constructs in particular require this.

The following shell scripts (or functions) must also be available in the make environment:
    ignore:
    	# ignore command ...
    	"$@"
    	exit 0
    silent:
    	# silent command ...
    	# (no-op for make)
    	"$@"