Short:        Scan E sources for imports of modules
Author:       Thomas@Igracki.de (Thomas Igracki)
Uploader:     Thomas Igracki de (Thomas Igracki)
Type:         dev/e
Version:      1.2
Architecture: ppc-morphos; ppc-amigaos; m68k-amigaos
Distribution: Aminet
Kurz:         In E-Quellen nach Modul-Importen suchen

This tool scans an E-source-code, for imports of own MODULEs (with "*")
and returns a list of the modules which needs to be compiled!

A module needs to be compiled, if "mod.e" is newer than "mod.m".
It stops searching for MODULE, when PROC is encountered.

You can use EMScanner with my Foreach command to compile all
modules which need to be compiled.
Example:
   Foreach `EMScanner EProcLister.e SELF` DO "s:ecx %s"
The output could be:
DevTools:ecx/my/EProcLister/mods/myApp.e DevTools:ecx/my/EProcLister/mods/titProcs_mcc.e DevTools:ecx/my/EProcLister/mods/winMain_mcc.e DevTools:ecx/my/EProcLister/mods/app_mcc.e

An alias would look like this:
  Alias ecx "Foreach *`EMScanner [] ADDITSELF*` DO *"s:ecx %s*""
So you could then just write:
  ecx EProcLister.e

Notice:
The OS4 version is only tested under MorphOS with OS4Emu, and produces hits, but works.

Usage: EMScanner <main source.e> [SELF=ADDITSELF] [NC=NoCheckForCompilation]
.....: ADDITSELF: add the main source file at the end of the modules list
.....: NC=NoCheckForCompilation: don't check, if the module needs to be compiled
*******************************************************************************
History:
26-Jul-13: v1.2
  new: Now EMScanner scans each found module recursively!
       So an updated module which doesn't get imported from the main source,
       but from a private submodule is now found too!
  chg: The full path of a module is now returned
  new: added NC=NoCheckForCompilation/S: don't check, if a module needs to be compiled

16-Jul-13: v1.1
  fix: If no compiled module (.m) exists, EMScanner failed to compare the dates 
  chg: removed the verbose output

07-Jul-13: v1.0
	first version