77 lines
3.1 KiB
Text
77 lines
3.1 KiB
Text
|
OS/2 specific information for dmake. This information is provided in the
|
||
|
hope that it makes it easier to install and recompile dmake in a OS/2
|
||
|
environment.
|
||
|
|
||
|
Notes on the OS/2 implementation of dmake:
|
||
|
==========================================
|
||
|
|
||
|
As shipped the DOS versions of dmake will run under OS/2 protected mode.
|
||
|
However, support for a full OS/2 version is also provided. The OS/2 version
|
||
|
will run in parallel under OS/2.
|
||
|
|
||
|
Bootstrapping the binary:
|
||
|
-------------------------
|
||
|
A make.cmd file is provided to bootstrap the binary. The file contains
|
||
|
several targets for bootstrapping. Invoking the batch file with no
|
||
|
arguments lists the possibilities shown below.
|
||
|
|
||
|
INDEX: You must specify one of:
|
||
|
ibm - IBM C2 compile.
|
||
|
|
||
|
The only supported compiler under OS/2 is the Visual Age ICC compiler.
|
||
|
I have tested the build using this compiler. The resulting binary
|
||
|
performs proper directory caching and file-name case mapping for cached
|
||
|
directories and is capable of parallel target builds. The only known
|
||
|
limitation of the OS/2 implementation is the treatment of library time
|
||
|
stamps. Libraries do not have time stamps on members and the timestamp
|
||
|
of the library is used instead.
|
||
|
|
||
|
|
||
|
OS/2 Specifics
|
||
|
--------------
|
||
|
|
||
|
There is a small number of OS/2 specific features that need to be
|
||
|
stated.
|
||
|
|
||
|
1. The environment variables TMP as well as TMPDIR are checked for the
|
||
|
location of the directory where dmake should place any temporary files.
|
||
|
TMPDIR is checked before TMP.
|
||
|
|
||
|
2. Appropriate limits are setup for MAXPROCESSES and buffer sizes etc.
|
||
|
See output of 'dmake -V'.
|
||
|
|
||
|
3. By default dmake will look for the startup.mk file in the path:
|
||
|
|
||
|
$(ROOTDIR)/dmake/startup/startup.mk
|
||
|
|
||
|
This is more in keeping with OS/2 philosophy. You may still rename
|
||
|
and put it anywhere else you like by defining the MAKESTARTUP
|
||
|
environment variable.
|
||
|
|
||
|
4. Swapping the dmake binary to disk is not supported under OS/2.
|
||
|
|
||
|
|
||
|
Other notes:
|
||
|
------------
|
||
|
dmake does not care if you are running cmd.exe or some other command
|
||
|
interpretter, you must however specify the proper values of the environment
|
||
|
variables SHELL, SHELLFLAGS, GROUPSHELL, and GROUPFLAGS in order for things
|
||
|
to work correctly. Read the man page first.
|
||
|
|
||
|
Group recipes under OS/2 that use cmd.exe as the command interpretter
|
||
|
require you to set the GROUPSUFFIX macro.
|
||
|
|
||
|
As shipped the startup.mk files try to figure out what
|
||
|
command interpretter you are using and set things up appropriately.
|
||
|
Two command interpretters are supported in the shipped startup.mk file,
|
||
|
cmd.exe (via COMSPEC), and the MKS Korn shell.
|
||
|
|
||
|
dmake does not contain any builtin commands. It gets all commands it
|
||
|
executes from an external file system. It is therefore most useful if it
|
||
|
is used in conjunction with an environment similar to that provided by
|
||
|
the MKS Tool kit, or equivalent.
|
||
|
|
||
|
dmake now supports the MKS argument passing conventions. The facility is
|
||
|
enabled by setting .MKSARGS:=1 and is set by default in the startup.mk file
|
||
|
if an MKS Korn shell is detected as being the active command interpretter.
|