Next: EDE Mode, Previous: Top, Up: Top

## 1 EDE Project Concepts

EDE is a generic interface for managing projects. It specifies a single set of menus and keybindings, while supporting multiple ways to express a project via a build system.

In the subsequent chapters, we will describe the different project types (see Creating a project), as well as the commands to build and debug projects (see Building and Debugging).

In EDE, a project hierarchy matches a directory hierarchy. The project's topmost directory is called the project root, and its subdirectories are subprojects.

Each project can contain multiple targets. A target, at the simplest level, is a named collection of files within a project. A target can specify two different types of information:

1. A collection of files to be added to a distribution (e.g., a tarball that you intend to distribute to others).
2. A collection of files that can be built into something else (e.g., a program or compiled documentation).

Lastly, EDE provides a way for other tools to easily learn file associations. For example, a program might need to restrict some sort of search to files in a single target, or to discover the location of documentation or interface files. EDE can provide this information.