home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume27 / dmake / part00 next >
Encoding:
Text File  |  1992-01-29  |  5.1 KB  |  127 lines

  1. Newsgroups: comp.sources.misc
  2. From: dvadura@plg.waterloo.edu (Dennis Vadura)
  3. Subject:  v27i101:  dmake - dmake Version 3.8, Part00/41
  4. Message-ID: <csm-v27i101=dmake.210531@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: e8ec495fba607d056150e71542b05faf
  6. Date: Tue, 28 Jan 1992 03:06:41 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: dvadura@plg.waterloo.edu (Dennis Vadura)
  10. Posting-number: Volume 27, Issue 101
  11. Archive-name: dmake/part00
  12. Environment: Atari-ST, Coherent, Mac, MSDOS, OS/2, UNIX
  13. Supersedes: dmake: Volume 19, Issue 22-58
  14.  
  15.  dmake Version 3.8
  16.  =================
  17.  
  18.  FULL RELEASE OF DMAKE, REPLACES VERSION 3.7
  19.  
  20.  Nature: This release is an attempt at addressing all of the little obscure
  21.  ------- bugs and "features" that still remained in dmake and often caused
  22.      spurious or incorrect behaviour.  As such there is no major new
  23.      functionality but several small enhancements to make life a little
  24.      more interesting.
  25.  
  26.      This distribution advances dmake to Version 3.8, patch level 0.
  27.  
  28.  
  29.  Availability:
  30.  -------------
  31.       dmake is available via anonymous ftp from watmsg.uwaterloo.ca
  32.       (129.97.141.9) as:
  33.  
  34.           pub/dmake/dmake38.tar.Z        - compressed tar archive
  35.           pub/dmake/dmake38.zoo        - zoo archive
  36.           pub/dmake/dmake38-msdos-exe.zoo    - MSDOS executable zoo archive
  37.           pub/dmake/dmake38-msdos-exe.zip    - MSDOS executable zip archive
  38.           pub/dmake/dmake38.shar01        - xx part shar archive
  39.           ...                  (get all parts)
  40.           pub/dmake/dmake38.sharxx
  41.  
  42.       and comes in several archive formats.  Choose the one that best
  43.       suits your needs.
  44.  
  45.  Acknowledgements:
  46.  -----------------
  47.       Thanks to all who submitted code for new features, suggestions for
  48.       improvements, and bug fixes.  I have tried to make sure no gotchas
  49.       remain, if you encounter problems installing or running dmake please
  50.       let me know.  As always, I am always happy to receive e-mail.
  51.  
  52.  
  53.  DETAILS OF ENHANCEMENTS/TWEAKS:
  54.  ===============================
  55. - Added the following functionality:
  56.  
  57.     #! command
  58.  
  59.   is scanned for and recognized if it is the first line of your makefile.
  60.   The command string is expanded and executed.
  61.   The command is restricted in that it cannot be a command requiring a shell
  62.   for it's execution.  The values of the command line macros have been set
  63.   and are available for execution purposes.  This is not as general as one
  64.   would like but it is not bad for bootstrapping different non dmake
  65.   makefiles.  If the command result code is zero, then dmake continues parsing
  66.   its input and processes the makefile.  If the result is non-zero dmake
  67.   exits.  (suggested by Paul Sander, paul@hal.com)
  68.  
  69. - Allowed the inclusion of white space inside quoted prerequisites.
  70.   i.e. you can now say:
  71.  
  72.       foo : "some stuff"
  73.  
  74.   and have "some stuff" treated as a single prerequisite.  The mod is
  75.   necessary to allow for prerequisites that contain $(shell ... ) expansion
  76.   scripts and other simillar function macros.
  77.  
  78. - Changed the following piece of code to be more in line with dmake
  79.   philosophy.  That is, $(macname:str=sub) now expands 'sub' prior to
  80.   performing the substitution, however if '-A' or '.AUGMAKE := yes' are
  81.   specified then the expansion is suppressed.
  82.  
  83. - Added _POSIX_NAME_MAX to the source, on any stat if the basename of a file
  84.   is larger than the value of _POSIX_NAME_MAX then it returns 0.  You must
  85.   define _POSIX_NAME_MAX in a lower level config if you want it to override
  86.   the default in {unix,msdos,mac,os2,atari}/config.h.
  87.  
  88. - Disallowed export of macros whose names contain the characters "+=:*"
  89.   as these are valid macro assignment operators and we don't want to cause
  90.   trouble when we go to reparse the environment again.  Perhaps the fix
  91.   could be a little bit less drastic, but for now it seems reasonable.
  92.  
  93. - Tweaked the output of -v to more accurately show which of a set of ::
  94.   targets is getting made.  The info was there so I might as well use it.
  95.  
  96. - Added a seperate directory substructure for XENIX since I was having trouble
  97.   linking properly in the generic SYSVR3 environment.  Looks as if you pretty
  98.   much need 'make xenixpwd' since XENIX uses popen to call getcwd.
  99.   If you use 'make xenix' and your implementation of xenix uses popen this
  100.   causes dmake to get confused about child processes and occationally
  101.   complain that it lost one.
  102.  
  103. - Cleaned up OS/2 building scripts, and made sure that OS2 define is checked
  104.   where needed.
  105.  
  106.  
  107.  DETAILS OF BUG FIXES:
  108.  =====================
  109. - Fixed the handling of :: targets if they appear first in the makefile.
  110.   This was incorrectly handled by the internal DAG construction code, ugly!.
  111.  
  112. - Fixed an output statement in dump.c so that macro values containing %
  113.   signs are correctly printed (guess where that broke, blush).
  114.  
  115. - Fixed a bug in dealing with .SETDIR=a targets and multiprocessing.  Too
  116.   obscure to describe but annoying if you stumble onto it.
  117.  
  118. - Fixed DIRSEPSTR macro to be user modifiable (as the manpage claims :-)
  119.   so that people can change it in startup.mk depending on shell/OS
  120.   (mostly effects DOS and/or OS/2 implementations).
  121.  
  122. - Fixed a bug dealing with complex .IF/.ELIF/.ELSE/.END expressions.
  123.   It now correctly selects only a single matching instance in a complex
  124.   .IF/.ELIF/.ELSE/.END expr.
  125.  
  126. exit 0 # Just in case...
  127.