home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d523 / bmake.lha / BMake / KNOWN-BUGS < prev    next >
Text File  |  1991-08-05  |  2KB  |  48 lines

  1.  
  2. June 15, 1991
  3.  
  4. --
  5. Using the backslash character as a character escape
  6.  
  7. Example:    $(fncall \,arg1, ... )
  8. Example:    echo "price = \$100"
  9.  
  10. Avoid using the backslash to escape characters.  I haven't any clue what
  11. the backslash will generally do, but in particular places the backslash can
  12. be used to escape the meaning of the next character.  Although that
  13. probably works fine in the particular context, the escaped character is not
  14. remapped properly to the character itself, so the backslash character will
  15. hang around, as if it were literal.  $$ should be used instead of \$.
  16.  
  17. --
  18. A function call that returns an ERROR will not cause the Makefile to be
  19. aborted.  Execution will continue as if the function call returned an
  20. empty string.
  21.  
  22. --
  23. Trailing spaces are not stripped from any lines, and quotes are not handled
  24. at all, so you might experience some weird behaviour if you leave trailing
  25. spaces hanging around your Makefile.
  26.  
  27. --
  28. All string comparisons within a Makefile are case sensitive.  This could be
  29. incompatible with Amiga Makefiles that assume case insentivity.
  30.  
  31. --
  32. WARNING:  $(patsubst ...) does not do a lot of bounds checking to make
  33. sure that patterned substitutions do not overflow the maximum line length.
  34. Be aware that bad things will happen if you overflow the line!
  35.  
  36. --
  37. A directive such as .PHONY or .SUFFIXES (and in future .PRECIOUS, .IGNORE,
  38. and .SILENT), which follows on the line immediately after the rule that
  39. introduces a target for the first time will not be able to recognize that
  40. target's existence because the target has not yet been added to the list of
  41. recognized targets.  The reason is that the target rule is still being
  42. formed; the parser is still expecting more command lines.
  43.  
  44. The work around for this bug is to insert an empty line between the rule
  45. definition and the directive.
  46.  
  47. --
  48.