mirror of
https://github.com/mirror/make.git
synced 2024-12-28 22:00:33 +08:00
9e443adaf6
Merged VMS port from Klaus Kaempf <kkaempf@didymus.rmi.de>. * make.h (PARAMS): New macro. * config.h-vms: New file. * makefile.com: New file. * makefile.vms: New file. * readme.vms: New file. * vmsdir.h: New file. * vmsfunctions.c: New file. * vmsify.c: New file. * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr. * ar.c: Added prototypes and changes for VMS. * commands.c: Likewise. * commands.h: Likewise. * default.c: Likewise. * dep.h: Likewise. * dir.c: Likewise. * expand.c: Likewise. * file.c: Likewise. * function.c: Likewise. * implicit.c: Likewise. * job.c: Likewise. * job.h: Likewise. * main.c: Likewise. * make.h: Likewise. * misc.c: Likewise. * read.c: Likewise. * remake.c: Likewise. * remote-stub.c: Likewise. * rule.c: Likewise. * rule.h: Likewise. * variable.c: Likewise. * variable.h: Likewise. * vpath.c: Likewise. * compatMakefile (srcs): Rename file.h to filedef.h.
63 lines
2.2 KiB
Plaintext
63 lines
2.2 KiB
Plaintext
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.
|
|
|