| Much more information on these topics can be found at www.erlware.org | 
 |  | 
 |  | 
 | Building the tree | 
 | ================= | 
 |  | 
 | To build, type make, it should all work from there.  | 
 |  | 
 | NOTE** if your system has erlang installed in a directory other than /usr/local/lib/erlang | 
 | then you must set the environment variable ERL_RUN_TOP to that directory. For example | 
 | if you have erlang installed in /home/jdoe/erlang then you should  | 
 | export ERL_RUN_TOP=/home/jdoe/erlang | 
 |  | 
 |  | 
 | Creating a new application | 
 | ========================== | 
 |  | 
 | A new application can be created by using the appgen utility in otp/tools/utilities. | 
 | This utility will create a basic OTP app framework under the otp/lib directory and | 
 | an OTP release under the otp/release directory.   | 
 |  | 
 | usage: appgen <appname> <prefix>  | 
 |  | 
 | Appname is the name of the application that you would like to create.  The prefix is  | 
 | usually the first letter of each word in the appname.  This prefix is to avoid name | 
 | clashes between applications included in a release (Erlang does not have packages). | 
 |  | 
 | example usage: appgen my_app ma | 
 |  | 
 | which results in  | 
 |  | 
 | otp/lib/my_app & otp/release/my_app_rel | 
 |  | 
 | Running a release | 
 | ================= | 
 |  | 
 | Your release should contain all that you need to run your application.  If your application | 
 | depends on any applications that are supplied outside of this build tree or OTP itself then | 
 | they may be added to the <appname>_rel.rel.src file.  If the extra applications are present | 
 | in this build tree then they will be found by the make process and included in the final  | 
 | release. | 
 |  | 
 | To run a release there are two options: "local" and installed. The local version can be found | 
 | in the otp/release/<appname>_rel/local directory which is added by the make process.  This  | 
 | should be used during development to run your release interactively via an Erlang shell. | 
 | To run a release in local mode cd into the "local" directory and run <appname>_rel.sh. | 
 |  | 
 | The second way to run a release is to install it and run it as a daemon.  This is used for  | 
 | applications in a production setting.  To do this you need to first run make & make install | 
 | from the <appname>_rel directory.  This will place a complete production ready versioned  | 
 | release in the /usr/local/lib/ directory under <appname>_rel.  To run an installed release | 
 | cd to /usr/local/lib/<appname>_rel/release/<rel_vsn> and run <appname>_rel.sh.   | 
 |  | 
 | In the case where you want to create a production ready release on one machine and then deploy it | 
 | on multiple identical machines you may create a production tar archive.  To do this run  | 
 | make & make tar from the otp/release/<appname>_rel/ directory. This will create a tar file conataining  | 
 | the release name and version number in the file name.  This tar can be shipped to its destination and  | 
 | untarred.  Within the untarred directory there is a shell script entitled install.sh.  Running this | 
 | script will install the release by default in /usr/local/lib/<appname>_rel.  An optional argument | 
 | can be provided that will direct the installation to a different directory. | 
 |  | 
 | Example install.sh /opt/lib  | 
 |  | 
 | This will install the release in /opt/lib/<appname>_rel | 
 |    | 
 |  | 
 |   | 
 |  |