home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dmake40.zip / readme / os2 < prev    next >
Text File  |  1994-10-23  |  7KB  |  156 lines

  1. OS/2 specific information for dmake.  This information is provided in the
  2. hope that it makes it easier to install and recompile dmake in a OS/2
  3. environment.  I do not own an OS/2 machine.  As a result I rely on others to
  4. insure that this version of dmake works as advertized.  If you have any
  5. problems with it please fix them and send me the differences so that
  6. I can incorporate them into future releases and patches.
  7.  
  8. Notes on the OS/2 implementation of dmake:
  9. ==========================================
  10.  
  11. As shipped the DOS versions of dmake will run under OS/2 protected mode.
  12. However, support for a full OS/2 version is also provided.  The OS/2 version
  13. will run in parallel under OS/2.  The port was made possible by files supplied
  14. by:
  15.  
  16.    Duncan Booth   -- (duncanb@ibmpcug.co.uk, Bix:jrichards)
  17.    Kai Uwe Rommel -- (rommel@lan.informatik.tu-muenchen.dbp.de),
  18.  
  19. For which I am grateful.  I have taken the two ports and integrated them 
  20. into a single port using the structure supplied by Duncan Booth, and some
  21. files and OS2'ism supplied by Kai Rommel.
  22.  
  23. If there are any problems with the port then please let myself or one of the
  24. two people above know.  I will then attempt to fix the problem.  I do not
  25. have access to an OS/2 box to verify any problems myself.
  26.  
  27.  
  28. Bootstrapping the binary:
  29. -------------------------
  30.    A make.cmd file is provided to bootstrap the binary.  The file contains
  31.    several targets for bootstrapping.  Invoking the batch file with no
  32.    arguments lists the possibilities shown below.
  33.  
  34.       INDEX:  You must specify one of:
  35.      msc40    - Microsoft C 4.0 compile.
  36.      msc50    - Microsoft C 5.0 compile.
  37.      msc51    - Microsoft C 5.1 compile.
  38.      msc60    - Microsoft C 6.0 compile.
  39.      ibm      - IBM C2 compile.
  40.  
  41.    Based on the compiler you have installed and whether or not you
  42.    want the swapping version of dmake, you should select the appropriate
  43.    target and issue 'make.cmd target'.
  44.  
  45.    The command file runs a second command script that comes with the
  46.    distribution which compiles the sources using the appropriate compiler and
  47.    flags.  The MSC Versions of the batch files should not require any further
  48.    user intervention during the compile.
  49.  
  50.    By default the command files make an executable that will run on an 8088
  51.    cpu and up.  You can change that by making the initial version and then
  52.    editing the config.mk file found in os2/mscdos and selecting a diferrent
  53.    cpu type by supplying the appropriate compiler flags.
  54.    You then need to remake dmake again but this time use dmake itself,
  55.    see below.
  56.  
  57.  
  58. Using dmake to Make itself:
  59. ---------------------------
  60.    If you use dmake to make itself you must first set a number of makefile
  61.    control variables, either through the environment or on the command line.
  62.  
  63.    The following variables must be set:
  64.  
  65.     OS           - defines operating system (must be set)
  66.     OSRELEASE      - particular version of it.
  67.     OSENVIRNOMENT  - more customization (not needed for OS/2)
  68.  
  69.    These three variables should be defined in your environment.  Valid values
  70.    for them are listed in the dmake makefile.mk file.  For example, if you
  71.    are using OS/2, with Microsoft-C then the valid settings are:
  72.  
  73.     set OS=os2
  74.     set OSRELEASE=mscdos
  75.  
  76.    The dmake makefile has several variables that can be user specified and
  77.    default to reasonable values if not set.
  78.  
  79.     MODEL   - defines the model to compile, valid values are
  80.           {s,c,m, or l}, defaults to 'l' (ie. large) model
  81.           if unspecified.
  82.  
  83.     MSC_VER - defines the version of Microsoft C in use, should be set to
  84.           one of 4.0, 5.0, 5.1 or 6.0; defaults to 6.0.
  85.  
  86.     DEBUG   - If set to '1' then make the debugging version of dmake, this
  87.           will also set MODEL to 'l'.
  88.  
  89.    To set the above variables you must specify them on the dmake command line
  90.    or insert them into the makefile.mk script.
  91.  
  92.    Finally, dmake searches for an initial startup file, you should set the
  93.    environment variable MAKESTARTUP to contain the full path to the startup
  94.    file, eg:
  95.  
  96.     set MAKESTARTUP=d:\init\startup.mk
  97.  
  98.    See the dmake man page in the src/man subdirectory for additional details
  99.    of how dmake starts up.
  100.  
  101.  
  102. OS/2 Specifics
  103. --------------
  104.  
  105.    There is a small number of OS/2 specific features that need to be
  106.    stated.  
  107.  
  108.    1. The environment variables TMP as well as TMPDIR are checked for the
  109.       location of the directory where dmake should place any temporary files.
  110.       TMPDIR is checked before TMP.
  111.  
  112.    2. Appropriate limits are setup for MAXPROCESSES and buffer sizes etc.
  113.       See output of 'dmake -V'.
  114.  
  115.    3. By default dmake will look for the startup.mk file in the path:
  116.           
  117.       $(INIT)/dmake.ini
  118.  
  119.       This is more in keeping with OS/2 philosophy.  You may still rename
  120.       and put it anywhere else you like by defining the MAKESTARTUP
  121.       environment variable.
  122.  
  123.    4. The OS/2 directory contains files required by Kai Rommel's compiler
  124.       shell.  However you do not need the compiler shell to build dmake.
  125.  
  126.    5. Swapping the dmake binary to disk is not supported under OS/2.
  127.  
  128.    6. Caching directories is not supported under OS/2 if you anyone wants
  129.       to add this grab the code in unix/cache.c and an OS/2 implementation
  130.       of opendir/readdir/closedir and hack away.  Please send me the results.
  131.  
  132.  
  133. Other notes:
  134. ------------
  135.    dmake does not care if you are running cmd.exe or some other command
  136.    interpretter, you must however specify the proper values of the environment
  137.    variables SHELL, SHELLFLAGS, GROUPSHELL, and GROUPFLAGS in order for things
  138.    to work correctly.  Read the man page first.
  139.  
  140.    Group recipes under OS/2 that use cmd.exe as the command interpretter
  141.    require you to set the GROUPSUFFIX macro.
  142.  
  143.    As shipped the startup.mk files try to figure out what
  144.    command interpretter you are using and set things up appropriately.
  145.    Two command interpretters are supported in the shipped startup.mk file,
  146.    cmd.exe (via COMSPEC), and the MKS Korn shell.
  147.  
  148.    dmake does not contain any builtin commands.  It gets all commands it
  149.    executes from an external file system.  It is therefore most useful if it
  150.    is used in conjunction with an environment similar to that provided by
  151.    the MKS Tool kit, or equivalent.
  152.  
  153.    dmake now supports the MKS argument passing conventions.  The facility is
  154.    enabled by setting .MKSARGS:=1 and is set by default in the startup.mk file
  155.    if an MKS Korn shell is detected as being the active command interpretter.
  156.