home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 216.lha / PdMake / READ.ME < prev    next >
Text File  |  1996-02-15  |  6KB  |  145 lines

  1. --------------------------------------------------------------------------
  2. Public Domain Make - Author (I assume Neil Russell)
  3. MS-DOS modifications: Cheyenne Wills.
  4. Amiga modifications: Talin.
  5. --------------------------------------------------------------------------
  6. This is an enhanced version of the 'make' utility I found on BIX.
  7. Enhancements so far include:
  8.  
  9.     - Now supports amiga enviroment variables.
  10.     - #include facility.
  11.     - improved documentation.
  12.     - added '-a' (make all) option.
  13.     - added '-e' (enviroment priority) option.
  14.  
  15. Other changes:
  16.  
  17.     - extensive modifications to support timestamps in Amiga format.
  18.     - working on making the program 'resident', not done yet.
  19.     - changed default rules to be more suitable for Amiga.
  20.     - got rid of a lot of MS-DOS specific code that wasn't needed.
  21.     - got rid of a lot of code for other operating systems. Basically
  22.         only left in code for AmigaDOS and Unix.
  23.     - added lots and lots of comments.
  24.  
  25.     On the whole, I've made the program somewhat less portable than before,
  26. but since the origincal sources are available I don't see portability as a
  27. major design objective.
  28.  
  29.                                         Talin.
  30.  
  31. My real address is:
  32.  
  33. David Joiner
  34. 17428 Chatsworth St.
  35. Granada Hills, CA 91334.
  36.  
  37. BIX: talin
  38.  
  39. --------------------------------------------------------------------------
  40. The following are the two readme files that were associated with
  41. the two postings to net.sources (on usnet).  The source code
  42. is that from the second posting with additions for running under
  43. ms-dos.
  44.  
  45. I would like to thank Neil Russell for writting and placing this
  46. version of MAKE in the public domain.  It is perhaps one of the
  47. closest PD makes to the UNIX version.
  48.  
  49. Enjoy.
  50.  
  51. Cheyenne Wills
  52. 12 West Locust St.
  53. Mechanicsburg Pa. 17055
  54.  
  55. P.S. Neil didn't copyright any of the code.  Neither am I, but
  56. I feel that he would want at least the following disclaimer (and
  57. so do I)
  58.  
  59. Disclaimer:
  60.  
  61.   No guarantees or warranties of any kind: This code is distributed
  62. "AS IS" without any warranty of any kind, either expressed or implied,
  63. including, but not limited to the implied warranties of merchantability
  64. and fitness for a particular purpose.  You are soley responsible for the
  65. selection of the program to achieve your intended results and for the
  66. results actually obtained.  Should the program prove defective, you (and
  67. not the author) assume the entire cost of all necessary servicing,
  68. repair, or correction.
  69.  
  70.   Neither the author nor anyone else who has been involved in the
  71. creation, production or delivery of this program shall be liable for any
  72. direct, indirect, consequential or incidental damages arising out of the
  73. use or inability to use this program.
  74.  
  75. readme.1 ----------------------------------------------------------
  76. Enough coaxing...  Here it is.    It will need work to work on most
  77. other systems, but the work should be minor.  I went though the
  78. source just now, and here is a list of things which I noticed that
  79. will need changing.
  80.  
  81. make.c:
  82.     * Fix dosh() for your system.
  83.     * Call to getstat() in modtime() is like a fstat() on unix,
  84.       so it needs fixing.
  85. main.c:
  86.     * You can have fun in main().  That call to initalloc() is
  87.       really special to EON.
  88. rules.c:
  89.     * Fix makerules() to suit you compilers for the auto suffix
  90.       stuff.
  91.  
  92. It supports most features of the UNIX make, the notable exceptions
  93. being libraries, and some subtleties with quoting.  I will support
  94. problems with it to a degree.  Good luck.
  95.  
  96. P.S.  I never actually got around to writing a manual entry for
  97.       it, so the best course of action is to refer to the UNIX
  98.       manual entry, or the source.
  99.  
  100.  
  101. --------------------------------------------------------------------------
  102. Neil Russell
  103. ACSnet:  caret@tictoc.oz
  104. UUCP:  ...!seismo!munnari!tictoc.oz!caret
  105. ARPA:  caret%tictoc.oz@seismo.arpa
  106. readme.2 -------------------------------------------------------------
  107. Following is a repost of the public domain 'make' that I posted
  108. to net.sources a couple of months ago.    I have fixed a few bugs, and
  109. added some more features, and the resulting changes amounted to
  110. about as much text as the whole program (hence the repost).
  111.  
  112. For those that missed the net.sources posting, this is a public domain
  113. re-implementation of the UNIX make program.  There is no manual included;
  114. for documentation, refer to a UNIX manual, or the source.
  115.  
  116. Here is a list of the changes made:
  117.  
  118. i)     If '-' (ignore) or '@' (silent) where used at the start
  119.        of a command, their effect was not turned off for the following
  120.        commands.
  121. ii)    A special target (.SUFFIXES, .PRECIOUS) or a rule (.c.o, .a.o),
  122.        if first in the file would be taken as the default target.
  123.        This resulted in error messages like "Don't know how to
  124.        make .c", because things like .SUFFIXES were being made.
  125.        This was further complicated by ---
  126. iii)   Special target lines with no dependents (ie. .SUFFIXES:\n)
  127.        were not clearing out the existing dependents like
  128.        they should.
  129. iv)    Default rules could not be redefined because of the error
  130.        checking for commands being defined twice.  Now you are
  131.        allowed to define a target beinging with '.', having
  132.        no dependents with commands.
  133. v)     The -q option didn't do the time comparison correctly,
  134.        or clear the variable used to keep track of this.  Thus
  135.        it didn't work very well.
  136. vi)    The syntax ${..} for macro's supported by UNIX make was
  137.        not supported.
  138. vii)   There wuz a couple of spelling errors.
  139. viii)  When make checked for implicit rules on targets without
  140.        a suffix, there were problems.  (Note: The ~ feature of
  141.        UNIX make wasn't and still isn't supported)
  142. ix)    The -n option did not print @ lines like it was supposed to.
  143. x)     :: added.  (See UNIX manual)
  144. xi)    $? added.  (see UNIX manual)
  145.