Important: This document describes the build system of Xcode 3. For information about using the Xcode 4 build system, see Project Editor Help and Xcode Overview.
The build system is the part of the Xcode that is responsible for transforming the components of a project into one or more finished products. The build system takes a number of inputs and performs operations such as compiling, linking, copying files and so forth to produce an output—usually an application or other type software.
Xcode includes a powerful build system that can create a wide variety of Mac OS X and iOS products, such as frameworks, libraries, applications, command-line tools and more. Using Xcode’s predefined project and target templates you can build these products right out of the box. However, the Xcode build system is also flexible enough to allow you to customize the build process—to tailor it to meet the special needs of your projects or support your preferred workflow.
You should read this document if you need to have a deep understanding of the Xcode build system to customize the building of your product or to use advanced features of the build system to speed up the build process.
The following chapters show how to build a product in Xcode, describe targets and the build system inputs that they organize, and show how to take advantage of build phases, build settings, and build configurations to customize the build process. These chapters also describe a number of Xcode features that you can take advantage of to shorten the edit-build-debug cycle. These features include distributed builds, precompiled prefix headers, and predictive compilation.
Organization of This Document
This document contains the following chapters:
Targets describes Xcode targets and how to manage them.
Build Phases provides an overview of build phases, explains how Xcode determines the order in which build phases are processed to build a product.
Build Settings explains how build settings are implemented and how you can take advantage of them to communicate with the build system.
Build Configurations provides a general explanation of build configurations, describes the predefined build configurations you get when you create a target or project in Xcode, and explains how to modify and define your own build configurations.
Linking provides details about how Xcode links code together into images and how you can customize this task.
Reducing Build Times describes the Xcode features that help reduce build times: precompiled headers, predictive compilation, and distributed builds.
This document also has a revision history.