1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
MSDOS specific information for dmake. This information is provided in the
hope that it makes it easier to install and recompile dmake under MSDOS.
I will be happy to hear of erroneous information and will make every effort
to correct it.
NOTE: If you are seeking information for Win32 compiles please refer to
the file "readme/winnt".
1. ENVIRONMENT VARIABLE SETTINGS
There are many environment variable settings available for MSDOS. Each
option is described below.
OS - msdos
OSRELEASE - borland # Borland compilers
- microsft # Microsoft compilers
- zortech # zortech compilers (unsupported)
OSENVIRONMENT - tcc20 # Borland Turbo C 2.0
- bcc30 # Borland C++ V3.0 MSDOS compile
- bcc40 # Borland C++ V4.0 MSDOS compile
- bcc45 # Borland C++ V4.5 MSDOS compile
- bcc50 # Borland C++ V5.0 MSDOS compile
- msc51 # Microsoft 5.1 Compiler MSDOS compile
- msc60 # Microsoft 6.0 Compiler MSDOS compile
MSC_VER - 5.1 # Microsoft Compiler version
- 6.0 # Microsoft Compiler version
2. IMPLEMENTATION NOTES
Bootstrapping the binary:
-------------------------
A make.bat 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:
tccswp - Turbo C 2.0 compile of swapping dmake.
bcc30swp - Borland C++ 3.0 compile of swapping dmake.
bcc40swp - Borland C++ 4.0 compile of swapping dmake.
bcc45swp - Borland C++ 4.5 compile of swapping dmake.
bcc50swp - Borland C++ 5.0 compile of swapping dmake.
msc51 - Microsoft C 5.1 compile.
msc51swp - Microsoft C 5.1, MASM 5.1 compile of swapping dmake.
msc60 - Microsoft C 6.0 compile.
msc60swp - Microsoft C 6.0, MASM 5.1 compile of swapping dmake.
Based on the compiler you have installed and whether or not you
want the swapping version of dmake, you should select the appropriate
target and issue 'make.bat target'.
The batch file runs a second batch script that comes with the distribution
which compiles the sources using the appropriate compiler and flags. The
MSC Versions of the batch files should not require any further user
intervention during the build. The Borland versions, as a final step,
invoke tlink with two response files. The second of these response files,
named in msdos/borland/{bcc*,tcc20}/mk*.bat, contains absolute path names to
Borland's libraries. You likely need to edit these before getting a
successful binary linked. The reason for this is that not all of us
install the Borland compiler in the same place.
Note that the file msdos/exec.uue is a uuencoded version of a BCC++
compiled exec.obj (from exec.asm). If you do not have an assembler
either microsoft MASM or Borland TASM (or some other), you can uudecode
this file and put it into src/objects/exec.obj. The build will then
link against it to build your binary.
Using dmake to Make itself:
---------------------------
See the file "readme/install" for information on building dmake by using
dmake itself. Once successfully built using the presupplied scripts it
should be straight forward to rebuild dmake.
Memory Requirements and Swapping:
---------------------------------
The swapping code currently only swaps to DISK, there are hooks
in the code to accomodate XMS and EMS, but have not been used (and
probably never will).
It appears that a ramdisk seems to work just fine. If anyone
wishes to fill in the hooks please do so and send us the differences.
^C and stopping a make:
-----------------------
Thanks to the efforts of Len Reed, appears to now work. I have been unable
to hang my machine if it's swapped out and I hit ^C a couple thousand times.
Other notes:
------------
dmake does not care if you are running command.com 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, if you still have trouble
then send email.
Group recipes under DOS that use command.com as the command interpretter
require you to set the GROUPSUFFIX macro.
As shipped the startup.mk files for the DOS version 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,
command.com, and the MKS Korn shell.
The dos version of dmake contains one builtin command. noop which
simply ignores the remainder of the line and always retuns success,
dmake supports the MKS argument passing conventions. The facility is
enabled by setting .MKSARGS:=1. It is set by default in the startup.mk file
if an MKS Korn shell is detected as being the active command interpretter.
At this time there are no plans to support the other popular UNIX like
argument passing conventions available under DOS. We recommend you get
a copy of the MKS Toolkit from Mortice Kern Systems in Waterloo, Ontario,
Canada [http://www.mks.com/].
|