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