home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / tools / make / pdmake / readme < prev    next >
Encoding:
Text File  |  1990-07-06  |  5.7 KB  |  155 lines

  1. Make Version 1.6                    90-02-08
  2.  
  3. This is the source for a public domain version of make.  It is very
  4. similar to the `make' provided on Sun systems.  It is compiled with
  5. Microsoft C (5.1) and runs on PCDOS 3.3.  It also compiles and runs on
  6. BSD 4.2 Unix.
  7.  
  8. Many thanks to Dr. T. Andrews (uunet!cdin-1!cdis-1!tanner)
  9.            Arend van den Brug (arend@philmds@philnl@mcvax)
  10.            Jeff Fried (jfried@informix.com)
  11.            Brian Wilson (island!sun!grenada!dr_unix)
  12.            Kirk Bailey (bailey@mist.cs.orst)
  13.  
  14. for pointing out problems and improvements.
  15.  
  16. I have included a makefile and a (rudimentary) default.mk for BSD Unix.
  17. Updates, additions and corrections are welcomed.  The shar distribution
  18. has the filenames reversed from the ZOO distribution:
  19.  
  20.     ZOO distribution        shar distribution
  21.     ----------------------------    --------------------------
  22.     makefile    makefile.bsd    makefile.dos    makefile
  23.     default.mk    default.bsd    default.dos    default.mk
  24.  
  25.  
  26. I'm assuming that the ZOO is used on DOS and the shar on Unix.  If what
  27. you got is not appropriate, rename the appropriate files and make.  For
  28. example, if you got the DOS version on a Unix system:
  29.  
  30.     mv makefile makefile.dos
  31.     mv makefile.bsd makefile
  32.     mv default.mk default.dos
  33.     mv default.bsd default.mk
  34.     make
  35.  
  36. Alternatively, you can (probably) just use this following command:
  37.  
  38.     make -r -f default.bsd -f makefile.bsd
  39. ===========================================================================
  40. This is version 1.6.  Here are the changes from 1.5 to 1.6:
  41.  
  42.      accept and ignore the -b option for backwards compatibility.
  43.  
  44.      accept and ignore the -- option for compatibility with SCO Xenix.
  45.  
  46.      set up spawnvp() so that the wait() call works on non-BSD Unix.
  47.  
  48.      translate "$$" to "$" when doing macro expansion.
  49.  
  50.      set "$?" to the set of dependents younger than the current target.
  51.  
  52.      support GnuMake's -W (What If) switch.
  53.  
  54.      strip quotes from around arguments before spawning a command (DOS).
  55.  
  56.      emulate inline-stdin redirection ("<<") on DOS by collecting the
  57.      following commands into a temporary file and placing the filename
  58.      on the command line.
  59.  
  60. ===========================================================================
  61. There is a version 1.4 that was submitted to comp.binaries.ibm.pc by
  62. Arend van den Brug.  I have incorporated many of the changes into my
  63. version and called it 1.5.  These are the changes from 1.3 to 1.5:
  64.  
  65.      support the -k, -S and -q options (see make.man).
  66.  
  67.      correctly support the $(MAKE) macro.
  68.  
  69.      allow target lines to end with a semi-colon and a command.
  70.  
  71.      corrected bugs when allocated strings are over-run.
  72.  
  73.      added "*?[]()&" to the list of characters that force the use of the
  74.      shell on Unix.
  75.  
  76. ===========================================================================
  77. These are the changes from 1.2 to 1.3:
  78.  
  79.      don't append shell command lines when encountering multiple targets
  80.      of the same name.  if this is a *special* target (e.g.  .c.obj),
  81.      just override.  otherwise exit with an error.
  82.  
  83.      flush output before executing the command, so the output comes out
  84.      in the right order when redirecting stdout to a file.
  85.  
  86.      if a file is supposedly built, but does not exists, use current
  87.      time.
  88.  
  89.      exit with an error if a target line does not have a ':'.
  90.  
  91.      don't force a space after "include" in case TAB is used.
  92.  
  93.      D and F modifiers for Directory and Filename of $@, $<, $*.
  94.  
  95.      use a dependent file for an implicit rule, if possible.
  96.  
  97.      allow Makefile as well as makefile, for Unix.
  98.  
  99.      always print statements when using -n, even if they start with @.
  100.  
  101.      backquote (`) will force use of a shell, in Unix.
  102.  
  103. ===========================================================================
  104. These are the changes from 1.1 to 1.2:
  105.  
  106.      ensure command line macros override makefile macros, even as
  107.      makefiles are being read in.
  108.  
  109.      support time checks correctly on MSDOS directories.
  110.  
  111.      use MAKEFLAGS macro, and set it up for subordinate makes.
  112.  
  113.      import environment variables and support -e flag.
  114.  
  115.      handle `-f -' (i.e.  makefile from stdin) correctly.
  116.  
  117.      clean up some potential NULL pointer dereferences.
  118.  
  119.      correct errors in handling nested makes.
  120.  
  121.      modify tokenizing routine to correctly handle trailing separators.
  122.  
  123.      the documentation has been re-written
  124.  
  125. ===========================================================================
  126. These are the changes from 1.0 to 1.1:
  127.  
  128.      modify prerequisite list handling to correctly allow a target to
  129.      appear on multiple target lines.
  130.  
  131.  
  132. There is a short story which goes with this offering.  Sometime early in
  133. 1988, someone (possibly Dan Grayson) posted copyrighted source for a
  134. `make' to Usenet.  I used it and modified it somewhat, and then lost my
  135. hard disk.  Having found this program to be very useful, I set about
  136. rewriting it from my recollection of the source that I had seen.  I have
  137. asked Rahul (moderator of comp.binaries.ibm.pc) if he could trace the
  138. original submitter, and have also posted a note to the net in c.b.i.p.d,
  139. trying to locate this person.  So far, no trace has been found.  I
  140. really would like to show this source to him (and hopefully have him
  141. agree that it is not the same as his).
  142.  
  143. I have based my algorithms on this previous source code.  Algorithms are
  144. not copyrightable, so I feel that I have not infringed upon anyone's
  145. rights.  Also, I have acted in good faith trying to trace this person.
  146. I hope that recipients of this code feel the same.  I am releasing this
  147. into the public domain.  You may do anything you wish with it, even
  148. copyright it yourself and try to sell it as your own.  Good luck, and
  149. have fun.
  150.  
  151.     -greg
  152.  
  153. Greg Yachuk          Informix Software Inc., Menlo Park, CA 92025
  154. greggy@informix.com | {uunet,pyramid}!infmx!greggy    (415) 926-6300
  155.