
Table of Content
================

  Requirements
  Installation
  Make options
  Make targets
  Problems
  Recompiling


Installation has been tested on Linux and DOS


Requirements
============
  gcc 2.95 or above
  GNU make 3.77 or above
  Allegro <http://www.allegro.cc/>
  Allegro Theme <http://annie.kezako.net/altheme/index.html>


Installation
============

* Unzip the file eme??.zip, or untar the file eme??.tar.gz
  Notes:
  . pkunzip users: use the -d switch to keep the directory hierarchy
        > pkunzip -d eme??.zip

* Enter eme??/ directory

* Type make
  Notes:
  . There are several options for make, see the section 'Make options' below.
  . You must use GNU make (under some systems GNU make is called gmake).

* Wait some time
  Notes:
  . If you encounter an error, see the section 'Problems' below.


Make options
============

* SYSTEM=unix|djgpp
  Choose the system, if unspecified: autodetected.
  If you encounter the error "unable to guess SYSTEM", you need to specify this option.
  For DJGPP (tested under DOS), type:
        > make SYSTEM=djgpp
  For Linux (will probably work under other Unices), type:
        $ make SYSTEM=unix

* DOS_SHELL
  Set to 1 if the shell and the tools are DOS, else undefined.  If unspecified:
  autodetected.

* COMPATIBILITY=yes|no
  Should eme be backward compatible? If unspecified: no.
  If you've already written a plugin and you are upgrading eme, you probably
  want backward compatibility:
        $ make COMPATIBILITY=yes
  Note that some changes aren't backward compatible. See the file doc/changes.htm.
  If you compile with compatibility, you can still use the new features.

* DEBUG=yes|no|slow
  Should eme be compiled with debug informations? If unspecified: no.

The following options are probably less usefull:

* PROFILE=none|eme|all
  Should eme be compiled to generate profile informations? If unspecified: none.

* UNICODE=yes|no
  Should eme support Unicode and UTF-8 character encoding? If unspecified: yes.

* MEMORY_POOL=yes|no
  Should eme use its own memory management? If unspecified: yes.

* OVERRIDE_LIBS=
  Replace the default libraries by the one specified. The default libraries are
  Allegro and Allegro Theme, specified as "-lathm `allegro-config --libs`"
  under Unix and "-lathm -lalleg" under DOS.

* OVERRIDE_INCLUDES=
  Replace the default include directories by the one specified. The default
  include is "`allegro-config --cflags`" under Unix and empty under DOS.

* TESTFLAGS=
  Add the specified compile flags.


Make targets
============

* all (default target)
  Remakes everything.

* clean
  Removes all generated files, but the configuration files (src/config.inc,
emetool).

* distclean
  Removes all generated files, including the configuration files
(src/config.inc, emetool).


Problems
========

* 'Error: unable to guess SYSTEM'
  See the section 'Make options' above.

* 'cannot open -lathm: No such file or directory'
  You need to install Allegro Theme <http://annie.kezako.net/altheme/index.html>

* 'allegro-config: command not found', followed by many "undefined reference" errors
  You need to install Allegro <http://www.allegro.cc>

* 'cannot open -lalleg: No such file or directory'
  You need to install Allegro <http://www.allegro.cc>

* If you have any other problem, e-mail me at <annie@kezako.net>.


Re-compiling
============

* If you want to recompile for changing the make options
  First, remove all the generated files by typing:
        $ make distclean
  And then type "make" followed by your new options.

* If you want to recompile because your system has changed
  First, recall the options you used to compile eme, by typing:
        $ emetool --options
  Then, remove all the generated files by typing:
        $ make distclean
  And then type "make" followed by the options emetool gave you.

* If you want to recompile with the same make options
  The following command
        $ emetool --options
  will print the options you had given to make the last time.
  So under Unix, type:
        $ make `emetool --options`
  Under DOS, you need to copy the output of emetool.

