To process all of a project's source code and other digital assets or resources in order to produce a deployable product. In the simplest case this might mean compiling one file of C source to produce an executable file. More complex builds would typically involve compiling multiple source files, building library modules, packaging intermediate build products (e.g. Java class files in a jar file), adding or updating version information and other data about the product (e.g. intended deployment platform), running tests and interacting with a source code control system.
The build process is normally automated using tools such as Unix make, Apache ant or as part of an integrated development environment. This is taken one step further by continuous integration set-ups which periodically build the system while you are working on it.