home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / tools / make / dmake37e / _install next >
Text File  |  1991-05-06  |  8KB  |  167 lines

  1. INSTALLATION INSTRUCTIONS
  2.  
  3. This file contains the instructions required to install and create the
  4. appropriate version of dmake.
  5.  
  6. NOTE:  If you use dmake to bootstrap a NEW DISTRIBUTED version or to remake
  7.        it after applying a PATCH, it may be NECESSARY to use the batch
  8.        script instead of dmake as some patches incorporate changes to the
  9.        makefile.mk file and associated config.mk files that cannot be
  10.        handled by earlier versions of dmake.  The use of the batch files
  11.        is the ONLY supported method of making a new release or update
  12.        version.
  13.  
  14. MAKING THE PROPER VERSION
  15.  
  16. The list of available versions of dmake has grown quite large.  The best
  17. method to determine what versions are available for your configuration is to
  18. simply issue the command 'make' in the source root directory.  Below is a
  19. partial list of the available versions to give an idea of what is supported.
  20. Note that this copy of the list is not maintained up to date.
  21.  
  22.     bsd43       - Generic BSD 4.3 (eg, true BSD, apollo, sun OS4, SGI etc)
  23.     bsd43uw       - Generic BSD 4.3 at U of Waterloo
  24.     bsd43vf       - Generic BSD with no vfprintf in its library  (use this
  25.              target if you are missing vfprintf function in your
  26.              C library)
  27.     sysvr3       - Generic SysV R3 UNIX
  28.     sysvr1       - Generic SysV R1 UNIX
  29.     386ix      - 386/ix (SysV R3), not tested
  30.     dynix      - Sequent Symmetry dynix
  31.     ultrix       - Ultrix 3.0 system
  32.     mips       - Any MIPS box
  33.         os2msc60   - OS/2 with MSC 6.0
  34.     tos        - Atari-ST using GCC as compiler
  35.         tcc        - DOS with tcc 2.0
  36.         tccswp     - swapping DOS version with tcc 2.0
  37.         msc60      - DOS with MSC 6.0
  38.         msc60swp   - swapping DOS version with MSC 6.0
  39.  
  40. The file 'makefile' understands these targets and runs the appropriate script
  41. to create the correct version.
  42.  
  43. The source code is organized as follows:
  44.  
  45.             dmake         [source for all common functions]
  46.               |
  47.               |
  48.         ----------------------------
  49.         |       |          |          |
  50.        unix   tos      os2       msdos  [source for OS specific functions]
  51.         |                |          |
  52.   --------------------    mscdos    -------------------
  53.   |         |        |              |       |         |
  54. 386ix     bsd43  sysvr[134]      tccdos   bccdos   mscdos  [source for OSRELEASE
  55.         |                                specific functions]
  56.     --------
  57.     |      |
  58.        uw      vf   [source for OSENVIRONMENT specific functions]
  59.  
  60.  
  61. Each of the directories (eg. bsd43, mscdos, tccdos, and sysvr3) contain source
  62. that is specific to that release of the OS (and possibly C-library)
  63. To make the apropriate versions of dmake, simply type the command
  64.  
  65.     'make system'
  66.  
  67. where system is one of the supplied possibilities.  For a complete list
  68. of the versions you can make, see the comments in the file 'makefile', or
  69. type 'make'.
  70.  
  71. The bootstrapping of dmake is accomplished by running a shell script with the
  72. appropriate compile commands hard coded.
  73.  
  74. (NOTE:  If you are using MSDOS then, you will actually be using the make.bat
  75.     scriptfile to make the correct version of dmake for MSDOS.  If you
  76.     are running a SHELL other than command.com, you may have to perform
  77.     some extra work to invoke the batch file.
  78.     
  79.     Make sure you read the readme/msdos file before attempting to make the
  80.     MSDOS version, as it contains important configuration and limitation
  81.     information.)
  82.  
  83. The making of dmake, echoes the commands being executed, and should proceed
  84. relatively error free.  Ignore any warnings that concern unused arguments
  85. to functions, these are normal in some configurations (esp the MSDOS
  86. configuration).
  87.  
  88.  
  89. STARTUP FILE
  90.  
  91. dmake requires the loading of a startup file when it is first invoked.  The
  92. path for the startup file is set in the file 'startup.h' found in the unix
  93. and msdos directories.  You may override the value of the path variable
  94. compiled-in by creating a file at the root source directory called startup.h
  95. and inserting into that file a definition that is like the definition found
  96. in the supplied startup.h files.
  97.  
  98.  
  99. INSTALLATION
  100.  
  101. To install dmake you must copy the executable to where your system
  102. locates executables, and you must place a copy of startup.mk (found in the
  103. directory corresponding to the version you just made) into a location
  104. corresponding to the value of the MAKESTARTUP macro or environment variable.
  105. You are free to customize the contents of startup.mk.
  106.  
  107. To make dmake again, (using itself), you will have to set three environment
  108. variables.  See the file makefile.mk for their names and their legal values.
  109. Once set you can invoke dmake to make itself.
  110.  
  111.  
  112. DOCUMENTATION
  113.  
  114. All documentation for dmake appears under the man directory.
  115. The file dmake.tf included in this distribution contains the troff
  116. source for the man page.  You must typeset it using the -man macros.
  117. If you cannot typeset it, the file dmake.p is a version that has been
  118. typeset for a normal dumb terminal.  The file dmake.p contains control
  119. characters.  The file dmake.nc is a version of the man page that has
  120. all of the control characters stripped.
  121.  
  122.  
  123. CREATING A NEW VERSION
  124.  
  125. To create yet another version of dmake you should follow the following steps.
  126.  
  127. The sysvr3 version as sent is the base version, all dmake versions must provide
  128. the equivalent of the functions defined in the sysvr3 directory, and MUST
  129. provide the same semantics (MSDOS archive lib searches are an exception since
  130. we cannot search libraries for timestamps in MSDOS, Actually the MKS version
  131. of dmake does this, I don't have the inclination to add this code though).
  132.  
  133. 1. Create a new directory for the version you will be making at the level
  134.    that is appropriate.  If it is a new OS then add the dir at the top level,
  135.    if it is a new version of UNIX then add it below the unix directory.
  136.  
  137. 2. Copy the files from the unix and unix/sysvr3 directories to the new dir.
  138.    (Or from any other directory sub-tree that is more appropriate)
  139.  
  140. 3. Not all OS/OSRELEASE combinations are compatible so in order to make
  141.    dmake on each, the particular directory may contain C-source for functions
  142.    present in the SVID SysV R3 distribution which are used by dmake but are
  143.    not supplied by the C-library in the target system.  For example the bsd43
  144.    directory contains source for tempnam.c since it is not provided with
  145.    the BSD C-library.  Before writing a new version of the source file
  146.    check the other directories to see if one already exists.
  147.  
  148. 4. Under some systems the standard include files may be missing or incorrect.
  149.    eg. under BSD stdarg.h and string.h.  If this is the case
  150.    you should create the proper .h file in the proper directory.
  151.    This works as expected as the compile line includes the flag -Idir
  152.    where dir is the configuration dir, (bsd43 for example) and any
  153.    standard include files will be searched for in dir before the compiler
  154.    looks in the normal places (if you have a sane compiler :-).
  155.  
  156. 5. Modify dmake.sh to contain the appropriate C compiler flags and link command
  157.    and to include any specific C files that you have had to add for this
  158.    version of dmake, and run the result through the shell.
  159.    (make the same changes to config.mk so that once you have a working copy of
  160.    dmake you can use it to bring itself up to date)
  161.  
  162. 6. Send me the changes :-) so that I can incorporate them into future
  163.    distributions.
  164.  
  165. 7. This should be all that you require to create a new version of dmake.
  166.    If you have any questions send e-mail to dvadura@watdragon.uwaterloo.ca
  167.