1. Jason McKesson
  2. premake for usage


premake for usage / BUILD.txt


 As of version 4.0, Premake is written in a mix of C and Lua. This mix
 enables many new features, but it makes building Premake a bit more
 If you downloaded a source code package from SourceForge, you will 
 find project files for all of the currently supported toolsets in 
 the build/ directory. Build the release configuration (the default
 for the makefiles) and you will find the executable in bin/release 
 ready to go.
 If you want to use a debug build instead, or if you downloaded the
 source code from Subversion instead of a SourceForge release, read
 the next section for more information on working with the scripts.
 If you find all of this very confusing and need some help, see the
 end of this document for contact information. I'll be glad to help.


 If you downloaded a source code package from SourceForge, the project
 files are already included (in build/) and you can skip ahead to the 
 next section. If you downloaded the sources from Subversion, you'll 
 need to generate new projects files before you can build. 
 In order to generate the project files, you need to have a working 
 version of Premake 4.x installed on your system. You can get it as a
 source code (with project files ready to build) or a prebuilt binary 
 from the SourceForge download page.
 Once you have a working Premake 4.x installed, use it to generate the 
 project files. Type a command like:
   premake4 gmake    -- for GNU makefiles using GCC
   premake4 vs2005   -- for a Visual Studio 2005 solution
 Use the "--help" option to see all of the available targets.


 Premake can be built in either "release" or "debug" modes. You can 
 choose which configuration to build with the "config" argument:
   make config=debug    -- build in debug mode
   make config=release  -- build in release mode
 (IDEs like Visual Studio provide their own mechanism for switching 
  build configurations).
 In release mode (the default) you can build and run Premake like any
 other C application. In debug mode, Premake reads the Lua scripts from
 the disk at runtime, enabling compile-less code/test iterations. But
 it needs some help to find the scripts. 
 You can specify the location of the scripts in one of two ways: using
 the /scripts command line argument, like so:
   premake4 /scripts=~/Code/premake4/src gmake
 Or by setting a PREMAKE_PATH environment variable.
 As you can see, you need to specify the location of the Premake "src"
 directory, the one containing "_premake_main.lua".

 If you make changes to the core Lua scripts, you can integrate them 
 into the release build using the "embed" command:
   premake4 embed
 This command embeds all of the scripts listed in _manifest.lua into
 src/host/scripts.c as static strings. The next release build will 
 include the updated scripts.

 I'll be glad to help you out. Stop by the main project website where
 you can leave a note in the forums (the preferred approach), join the 
 mailing list, or contact me directly.