This is the VMS port of GNU Make version 3.74. It is based on the VMS port of GNU Make 3.60 by Mike Moretti. This port was done by Klaus Kämpf (kkaempf@didymus.rmi.de) To build Make, simply type @makefile. This should compile all the necessary files and link Make. There is also a file called makefile.vms. If you already have GNU Make 3.74 built you can just use Make with this makefile to rebuild. Here are some notes about GNU Make for VMS: Libraries are not supported. They were in GNU Make 3.60 but somehow I didn't care porting the code. If there is enough interest, I'll do it at some later time. The variable $^ separates files with commas instead of spaces (It's the natural thing to do for VMS). See defaults.c for VMS default suffixes and my definitions for default rules and variables. The shell function is not implemented yet. Load average routines haven't been implemented for VMS yet. The default include directory for including other makefiles is SYS$SYSROOT:[SYSLIB] (I don't remember why I didn't just use SYS$LIBRARY: instead; maybe it wouldn't work that way). The default makefiles make looks for are: makefile.vms, gnumakefile, makefile., and gnumakefile. . The stat() function and handling of time stamps in VMS is broken, so I replaced it with a hack in vmsfunctions.c. I will provide a full rewrite somewhere in the future. Be warned, the time resolution inside make is less than what vms provides. This might be a problem on the faster Alphas. You can use a : in a filename only if you preceed it with a backslash ('\'). E.g.- hobbes\:[bogas.files] None of the stuff in vpath.c has been implemented yet. Make ignores success, informational, or warning errors (-S-, -I-, or -W-). But it will stop on -E- and -F- errors. (unless you do something to override this in your makefile, or whatever). Remote stuff isn't implemented yet. Multiple line DCL commands, such as "if" statements, must be put inside command files. You can run a command file by using \@. VMS changes made for 3.74.3 Lots of default settings are adapted for VMS. See default.c. Long command lines are now converted to command files. Comma (',') as a separator is now allowed. See makefile.vms for an example.