Premake is used to generate build files for IDEs such as Visual Studio, X Code, Mono Develop, Code::Blocks, and more. Premake makes managing cross-platform projects easier by removing the need to manually update build files for every platform's IDE; instead it generates these files for you. Premake files that define how a project should be structured are just Lua files.
The website is https://premake.github.io.