Skip to content
  • Mark OLESEN's avatar
    ENH: make it easier to switch between the various make dependencies programs. · de72a04a
    Mark OLESEN authored
    - However, the new ragel-based parser is much faster
      than the others, and does not cause 'too many open files' error
      that the flex-based parser does (issue #784).
    
      The timings (using src/sampling as being somewhat representative)
    
        $ wclean; wmakeLnInclude -u .; time wmake -s dep
    
            3.4s  wmkdepend (ragel) [now default]
            5.7s  wmkdep (flex)
            6.1s  cpp -M
    
    - The makeDepend script is for testing purposes only, but could used as
      a hook for other dependency generation systems (eg, ninja).
      It simply wraps 'cpp -M' in a form that is calling compatible with
      wmkdepend.
    
    BUG: wmkdepend parser was missing optional leading space on #include match
    
    STYLE: use -G2 (goto-based) option for wmkdepend state machine
    
    - the machine is compact with few states and lends itself to this
    de72a04a