home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dmake40x.zip / INSTALL < prev    next >
Text File  |  1998-07-07  |  11KB  |  291 lines

  1. These files were packaged by Ariel Shkedi <ars@ziplink.net> for your convenience
  2. but I claim no copyright whatsoever. See the license file for more information.
  3. The source for this package should be available in the same place you got this.
  4. If you redistribute this package you should re-distribute the source along with 
  5. it.
  6.  
  7. ***Author of this package:***
  8.  
  9. I can be reached at:    dvadura@plg.uwaterloo.ca
  10.  
  11.             Dennis Vadura
  12.             Dept of Computer Science
  13.             University of Waterloo
  14.             Waterloo, Ont.  N2L 3G1
  15.             (519) 885-1211 x3501
  16.  
  17.  
  18. ***Files in this package:***
  19.  
  20. The executable                          dmake.exe
  21. License                                 license
  22.  
  23. dmake.ini files:
  24.   emx-gcc                               ini\dmake.emx
  25.   IBM C 2.0                             ini\dmake.ibm
  26.   Microsoft C                           ini\dmake.msc
  27.  
  28. Documentation:
  29.   ANSI Format - Highlight               man\dmake.anh
  30.   ANSI Format - Underline               man\dmake.anu
  31.   Text Plain (No Control Chars)         man\dmake.nc
  32.  
  33. Documentation source:
  34.   Unix ul format                        man\dmake.p
  35.   Original troff                        man\dmake.tf
  36.  
  37. ***Installing the package:***
  38.  
  39. The directory c:\dmake used in these instructions is an example, you may replace
  40. it with whatever you wish. The files do not all need to be in the same directory
  41. dmake.exe should be in the path, and dmake.ini needs to be pointed to by 
  42. MAKESTARTUP. The documentation can be placed anywhere.
  43.  
  44. To install the package first create a directory named c:\dmake:
  45.   md c:\dmake
  46. Copy the dmake.exe file to this directory:
  47.   copy dmake.exe c:\dmake
  48. Add c:\dmake to your path:
  49. Edit config.sys and add c:\dmake at the end of the line beginning with path=
  50. (Make sure to separate it from other directories with a ;)
  51. Example: path=c:\os2;c:\dmake
  52.  
  53. Copy the ini file that best matches your environment to c:\dmake\dmake.ini
  54. For:
  55.  emx-gcc:
  56.   copy ini\dmake.emx c:\dmake\dmake.ini
  57.  IBM C 2.0:
  58.   copy ini\dmake.ibm c:\dmake\dmake.ini
  59.  Microsoft C:
  60.   copy ini\dmake.msc c:\dmake\dmake.ini
  61.  
  62. Add the line:
  63. set MAKESTARTUP=c:\dmake\dmake.ini
  64. To your config.sys
  65.  
  66. Copy the documentation:
  67. There are 3 files, man\dmake.nc is a plain text format (no control characters).
  68. man\dmake.anu is the documentation with ANSI formatting codes, the underline code
  69. is used. Some systems don't support ANSI underline codes, in that case use 
  70. man\dmake.anh which uses highlighting instead. To view the ANSI formatted files 
  71. type
  72. ANSI on
  73. at an os2 prompt (it is usually on by default). And do
  74. more < man\dmake.anu
  75. or
  76. more < man\dmake.anh
  77.  
  78. Choose the type you like better and copy it:
  79. copy man\dmake.anu c:\dmake\dmake.man
  80. or
  81. copy man\dmake.anh c:\dmake\dmake.man
  82.  
  83. In addition copy man\dmake.nc for viewing in a text editor.
  84. copy man\dmake.nc c:\dmake\dmake.txt
  85.  
  86. man\dmake.tf is the original troff format, you don't need it unless you want to 
  87. convert the documentation to some other format. man\dmake.p is in unix man 
  88. format. You can use the unix command ul to view it.
  89.  
  90. Reboot your computer so that the changes to config.sys are enabled.
  91.  
  92. After copying the files to their new locations you can delete the originals to 
  93. reclaim some disk space.
  94.  
  95. The source file for dmake contains a very nice debuging package which you may 
  96. want, it is in the dbug directory. It is not included here to reduce the file 
  97. size and because you would need to compile it for your specific setup.
  98.  
  99. ***Compilation Notes:***
  100.  
  101. I compiled this package using emx-gcc.
  102.  
  103. I first commented out in public.h the line:
  104. int _chdir ANSI((char *));
  105. Because it was conflicting with the definition in the gcc library files.
  106.  
  107. In order to create a stand alone exe file that does not depend on emx, I changed
  108. the last line in emx\make.cmd from:
  109.   gcc -Zmtd -o dmake.exe objects/*.o
  110. To the two lines:
  111.   emxomf -s objects\*.o
  112.   gcc -Zmt -Zomf -Zsys -s -o dmake.exe objects/*.obj
  113. I then ran emx/make.cmd to create the dmake.exe file.
  114.  
  115. The ini files were copied from dmake.ini in the emx, os2/ibm, and os2/mscdos 
  116. directories.
  117.  
  118. The documentation: dmake.nc, dmake.tf, and dmake.p is copied from the
  119. distribution files using:
  120. copy dmake.nc.A + dmake.nc.B dmake.nc
  121. copy dmake.tf.A + dmake.nc.B dmake.tf
  122. copy dmake.uue.A + dmake.uue.B dmake.uue
  123. uudecode dmake.uue
  124. gunzip -a dmake.Z
  125. ren dmake dmake.p
  126.  
  127. The dmake.anh and dmake.anu files were created from dmake.p using the unix ul 
  128. command. The two type are from two different TERMCAPS. The difference between 
  129. the two is that dmake.anu uses ANSI underline commands which are not supported 
  130. on many systems. dmake.anh uses reverse highlight instead of underline.
  131. dmake.p uses underlining.
  132.  
  133. ***Extra Info from readme/os2 in the source distribution:***
  134.  
  135. OS/2 specific information for dmake.  This information is provided in the
  136. hope that it makes it easier to install and recompile dmake in a OS/2
  137. environment.  I do not own an OS/2 machine.  As a result I rely on others to
  138. insure that this version of dmake works as advertized.  If you have any
  139. problems with it please fix them and send me the differences so that
  140. I can incorporate them into future releases and patches.
  141.  
  142. Notes on the OS/2 implementation of dmake:
  143. ==========================================
  144.  
  145. As shipped the DOS versions of dmake will run under OS/2 protected mode.
  146. However, support for a full OS/2 version is also provided.  The OS/2 version
  147. will run in parallel under OS/2.  The port was made possible by files supplied
  148. by:
  149.  
  150.    Duncan Booth   -- (duncanb@ibmpcug.co.uk, Bix:jrichards)
  151.    Kai Uwe Rommel -- (rommel@lan.informatik.tu-muenchen.dbp.de),
  152.  
  153. For which I am grateful.  I have taken the two ports and integrated them 
  154. into a single port using the structure supplied by Duncan Booth, and some
  155. files and OS2'ism supplied by Kai Rommel.
  156.  
  157. If there are any problems with the port then please let myself or one of the
  158. two people above know.  I will then attempt to fix the problem.  I do not
  159. have access to an OS/2 box to verify any problems myself.
  160.  
  161.  
  162. Bootstrapping the binary:
  163. -------------------------
  164.    A make.cmd file is provided to bootstrap the binary.  The file contains
  165.    several targets for bootstrapping.  Invoking the batch file with no
  166.    arguments lists the possibilities shown below.
  167.  
  168.       INDEX:  You must specify one of:
  169.      msc40    - Microsoft C 4.0 compile.
  170.      msc50    - Microsoft C 5.0 compile.
  171.      msc51    - Microsoft C 5.1 compile.
  172.      msc60    - Microsoft C 6.0 compile.
  173.      ibm      - IBM C2 compile.
  174.  
  175.    Based on the compiler you have installed and whether or not you
  176.    want the swapping version of dmake, you should select the appropriate
  177.    target and issue 'make.cmd target'.
  178.  
  179.    The command file runs a second command script that comes with the
  180.    distribution which compiles the sources using the appropriate compiler and
  181.    flags.  The MSC Versions of the batch files should not require any further
  182.    user intervention during the compile.
  183.  
  184.    By default the command files make an executable that will run on an 8088
  185.    cpu and up.  You can change that by making the initial version and then
  186.    editing the config.mk file found in os2/mscdos and selecting a diferrent
  187.    cpu type by supplying the appropriate compiler flags.
  188.    You then need to remake dmake again but this time use dmake itself,
  189.    see below.
  190.  
  191.  
  192. Using dmake to Make itself:
  193. ---------------------------
  194.    If you use dmake to make itself you must first set a number of makefile
  195.    control variables, either through the environment or on the command line.
  196.  
  197.    The following variables must be set:
  198.  
  199.     OS           - defines operating system (must be set)
  200.     OSRELEASE      - particular version of it.
  201.     OSENVIRNOMENT  - more customization (not needed for OS/2)
  202.  
  203.    These three variables should be defined in your environment.  Valid values
  204.    for them are listed in the dmake makefile.mk file.  For example, if you
  205.    are using OS/2, with Microsoft-C then the valid settings are:
  206.  
  207.     set OS=os2
  208.     set OSRELEASE=mscdos
  209.  
  210.    The dmake makefile has several variables that can be user specified and
  211.    default to reasonable values if not set.
  212.  
  213.     MODEL   - defines the model to compile, valid values are
  214.           {s,c,m, or l}, defaults to 'l' (ie. large) model
  215.           if unspecified.
  216.  
  217.     MSC_VER - defines the version of Microsoft C in use, should be set to
  218.           one of 4.0, 5.0, 5.1 or 6.0; defaults to 6.0.
  219.  
  220.     DEBUG   - If set to '1' then make the debugging version of dmake, this
  221.           will also set MODEL to 'l'.
  222.  
  223.    To set the above variables you must specify them on the dmake command line
  224.    or insert them into the makefile.mk script.
  225.  
  226.    Finally, dmake searches for an initial startup file, you should set the
  227.    environment variable MAKESTARTUP to contain the full path to the startup
  228.    file, eg:
  229.  
  230.     set MAKESTARTUP=d:\init\startup.mk
  231.  
  232.    See the dmake man page in the src/man subdirectory for additional details
  233.    of how dmake starts up.
  234.  
  235.  
  236. OS/2 Specifics
  237. --------------
  238.  
  239.    There is a small number of OS/2 specific features that need to be
  240.    stated.  
  241.  
  242.    1. The environment variables TMP as well as TMPDIR are checked for the
  243.       location of the directory where dmake should place any temporary files.
  244.       TMPDIR is checked before TMP.
  245.  
  246.    2. Appropriate limits are setup for MAXPROCESSES and buffer sizes etc.
  247.       See output of 'dmake -V'.
  248.  
  249.    3. By default dmake will look for the startup.mk file in the path:
  250.           
  251.       $(INIT)/dmake.ini
  252.  
  253.       This is more in keeping with OS/2 philosophy.  You may still rename
  254.       and put it anywhere else you like by defining the MAKESTARTUP
  255.       environment variable.
  256.  
  257.    4. The OS/2 directory contains files required by Kai Rommel's compiler
  258.       shell.  However you do not need the compiler shell to build dmake.
  259.  
  260.    5. Swapping the dmake binary to disk is not supported under OS/2.
  261.  
  262.    6. Caching directories is not supported under OS/2 if you anyone wants
  263.       to add this grab the code in unix/cache.c and an OS/2 implementation
  264.       of opendir/readdir/closedir and hack away.  Please send me the results.
  265.  
  266.  
  267. Other notes:
  268. ------------
  269.    dmake does not care if you are running cmd.exe or some other command
  270.    interpretter, you must however specify the proper values of the environment
  271.    variables SHELL, SHELLFLAGS, GROUPSHELL, and GROUPFLAGS in order for things
  272.    to work correctly.  Read the man page first.
  273.  
  274.    Group recipes under OS/2 that use cmd.exe as the command interpretter
  275.    require you to set the GROUPSUFFIX macro.
  276.  
  277.    As shipped the startup.mk files try to figure out what
  278.    command interpretter you are using and set things up appropriately.
  279.    Two command interpretters are supported in the shipped startup.mk file,
  280.    cmd.exe (via COMSPEC), and the MKS Korn shell.
  281.  
  282.    dmake does not contain any builtin commands.  It gets all commands it
  283.    executes from an external file system.  It is therefore most useful if it
  284.    is used in conjunction with an environment similar to that provided by
  285.    the MKS Tool kit, or equivalent.
  286.  
  287.    dmake now supports the MKS argument passing conventions.  The facility is
  288.    enabled by setting .MKSARGS:=1 and is set by default in the startup.mk file
  289.    if an MKS Korn shell is detected as being the active command interpretter.
  290.  
  291.