PREMAKE BUILD INSTRUCTIONS 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 complicated. 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. GENERATING THE PROJECT FILES 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. RELEASE AND DEBUG BUILDS 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. PREMAKE_PATH=~/Code/premake4/src As you can see, you need to specify the location of the Premake "src" directory, the one containing "_premake_main.lua". EMBEDDING SCRIPTS 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. CONFUSED? 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. http://industriousone.com/premake Enjoy!