dmake/dmake/readme/apple.mac
2017-05-14 19:59:26 -05:00

43 lines
1.9 KiB
Plaintext

Notes on the Macintosh implementation of dmake:
This port for the Macintosh is specifically designed to be run
under MPW.
I had to make a couple of changes to dmake in order to get it to work
on the Mac. First, MPW provides no documented way to run a
subprocess, so when you use dmake, you MUST use the -n option and
execute the output. Typically, you will probably want to write a
simple script file to do these operations for you.
I added some code so that the Macintosh version of dmake can
use UNIX-style directories to specify include paths and target
and dependency file names. I.e., if you specify a file "/dir/file",
dmake will look at the file "dir:file". However, Mac dmake does not
do any translation from files specified by UNIX-style directories
in the recipe line that gets executed. If you need to translate,
you can use substitution commands. (For example,
":$(RELATIVEUNIXFILE:s,/,:,)".) This code was added so one could
execute dmake's makefile, and also so one would have an easier time
porting other UNIX makefiles. I would suggest you stick with
Macintosh-style directories for all other makefiles.
I was getting memory trashing errors when I was reading in
environmental variables >4K with the -e option. I had trouble
tracking down exactly what was causing the problem, so decided it
was easier to just clip the length before sending it to the dmake
parser. I arbitrarily picked 1K as the maximum length, figuring
it was highly unlikely anyone really needed a variable longer than
that from within a makefile. (This error may be related to the
value you set for MAXLINELENGTH, so to be safe, you should keep
it >1K.)
In order to run dmake, you must set (and export) the environmental
variable "OS" to "mac".
Finally, dmake looks for the file startup.mk in
"{MPW}tools:{DMSTARTUPDIR}". "DMSTARTUPDIR" can be defined if you
want to override the default tools directory location.
Micah Doyle
micah@leland.Stanford.EDU