Difference between revisions of "Building ReactOS"

From ReactOS Wiki
Jump to: navigation, search
Line 38: Line 38:
Used instead of make will utilize all physical cores on your machine.
Used instead of make will utilize all physical cores on your machine.
=== Creating [[Wikipedia:Integrated development environment|IDE]] project files ===
* <code>make msvc</code>
* <code>make msvc_clean</code>
* <code>make msvc_clean_all</code>
* <code>make msvc6</code>
* <code>make msvc6_clean</code>
* <code>make msvc7</code>
* <code>make msvc7_clean</code>
* <code>make msvc71</code>
* <code>make msvc71_clean</code>
* <code>make msvc8</code> - Create project files for Visual C++ 2005 (8.0)
* <code>make msvc8_clean</code>
* <code>make msvc9</code> - Create project files for Visual C++ 2008 (9.0)
* <code>make msvc9_clean</code>
* <code>make msvc10</code> - Create project files for Visual C++ 2010 (10.0)
* <code>make msvc10_clean</code>
* <code>make msvc7_install_debug</code>
* <code>make msvc7_install_release</code>
* <code>make msvc7_install_speed</code>
* <code>make msvc71_install_debug</code>
* <code>make msvc71_install_release</code>
* <code>make msvc71_install_speed</code>
* <code>make msvc8_install_debug</code>
* <code>make msvc8_install_release</code>
* <code>make msvc8_install_speed</code>
=== Other ===
=== Other ===

Revision as of 22:44, 11 March 2012

This page describes the steps necessary to build ReactOS.

Getting all you need

Getting a Working Copy

The first step in building ReactOS is getting a copy of the source code.

You can use the exported release source code, but since you are reading this, you are probably interested in keeping up to date with the latest changes, so you will want a "working copy" of ReactOS. To get a working copy of ReactOS, please read the Subversion page.

Setting up a Build Environment

For building ReactOS you also need the official ReactOS Build Environment. Please download and install it from that page.

Make sure that no interfering build environment (such as MSYS) is in your PATH environment variable when building.


After you have started a Build Environment Command Prompt, there are certain commands available.

Invoking a build

make This command builds all binaries of ReactOS. They will be placed in the directory specified by the ROS_OUTPUT environment variable. (default: output-i386) All source files, which did not change since the last build, will not be built again.

make bootcd This command works like make, but also generates a bootable ReactOS ISO file (ReactOS.iso) in the base of the working copy. It is wise to tag your Boot-CDs with the revision they were built from if you need to keep many ReactOS ISOs.

make livecd This command generates ReactOS-LiveCD.iso in the base of the working copy. This is the ReactOS Live-CD that runs completely from the CD-ROM

make install This command copies all the ReactOS binaries to their proper installation directory as specified in the ROS_INSTALL environment variable. (default: reactos)

makex Used instead of make will utilize all physical cores on your machine.


clean This command cleans all files of your working copy except the generated ISO files (if any). The next build you make will be completely clean then. Any parameters will recognized as module name and only this module will be cleaned then.

remake This tool cleans one or several specific modules and immediately rebuilds it cleanly.

make depmap This command generates a simple dependency map for all ReactOS components.

make vreport This command generates a version report for all ReactOS components, whose source files have appropriate information for that.

make world This command is a shortcut for make all bootcd livecd

make universe This command acts like make world but uses different debug settings and places the resulting files in separate directories. This one is the one which creates the maximum of artefacts.

make rgenstat

make msbuild

make msbuild_clean

make depends

make makefile_auto_clean

Adjusting the Build Configuration

In the base of the working copy, you will find a file called config.template.rbuild. This is one of the configuration files for RBuild, our custom build system. Make a copy of this file as config.rbuild and open it in an editor. Each option is commented with a short description of what it does. Adjust the file to your needs and save it. Additionally RosBE has a tool called config, which does all the work for you by asking you for the settings you want and automatically generating the config files.

Adding modules to the build process

There are several modules you can add to the build process. For example rosapps contains some additional applications not included by default.

The page Building Modules describes, which modules exist and how to add them to the build process.