# Emacs Development Environment

## Table of Contents

- 1 EDE Project Concepts
- 2 EDE Mode
- 3 Quick Start
  - 3.1 Step 1: Create root directory
  - 3.2 Step 2: Create Subdirectories and Files
  - 3.3 Step 3: Create subprojects
  - 3.4 Step 4: Create targets
  - 3.5 Step 5: Compile, and fail
  - 3.6 Step 6: Customizing your project
  - 3.7 Step 7: Shared library dependency
  - 3.8 Step 8: Run your program
- 4 Creating a project
- 5 Modifying your project
  - 5.1 Add/Remove target
  - 5.2 Add/Remove files
  - 5.3 Customize Features
  - 5.4 Project Local Variables
  - 5.5 EDE Project Features
    - 5.5.1 Changing Compilers and Flags
    - 5.5.2 Configurations
- 6 Building and Debugging
- 7 Miscellaneous commands
  - 7.1 Make and Automake projects
  - 7.2 Automake direct projects
  - 7.3 Simple Projects
    - 7.3.1 ede-cpp-root
    - 7.3.2 ede-emacs
    - 7.3.3 ede-linux
    - 7.3.4 ede-generic-project
    - 7.3.5 Custom Locate
- 8 Extending EDE
  - 8.1 Development Overview
  - 8.2 Detecting a Project
  - 8.3 User interface methods
  - 8.4 Base project methods
  - 8.5 Sourcecode objects
  - 8.6 Compiler and Linker objects
  - 8.7 Project
    - 8.7.1 ede-project-placeholder
      - 8.7.1.1 Specialized Methods
    - 8.7.2 ede-project
      - 8.7.2.1 Specialized Methods
    - 8.7.3 ede-cpp-root-project
      - 8.7.3.1 Specialized Methods
    - 8.7.4 ede-simple-project
      - 8.7.4.1 Specialized Methods
    - 8.7.5 ede-simple-base-project
    - 8.7.6 ede-proj-project
      - 8.7.6.1 Specialized Methods
    - 8.7.7 project-am-makefile
      - 8.7.7.1 Specialized Methods
    - 8.7.8 ede-step-project
      - 8.7.8.1 Specialized Methods
  - 8.8 Targets
    - 8.8.1 ede-target
      - 8.8.1.1 Specialized Methods
    - 8.8.2 ede-proj-target
      - 8.8.2.1 Specialized Methods
    - 8.8.3 ede-proj-target-makefile
      - 8.8.3.1 Specialized Methods
    - 8.8.4 semantic-ede-proj-target-grammar
      - 8.8.4.1 Specialized Methods
    - 8.8.5 ede-proj-target-makefile-objectcode
      - 8.8.5.1 Specialized Methods
    - 8.8.6 ede-proj-target-makefile-archive
      - 8.8.6.1 Specialized Methods
    - 8.8.7 ede-proj-target-makefile-program
      - 8.8.7.1 Specialized Methods
    - 8.8.8 ede-proj-target-makefile-shared-object
      - 8.8.8.1 Specialized Methods
    - 8.8.9 ede-proj-target-elisp
      - 8.8.9.1 Specialized Methods
    - 8.8.10 ede-proj-target-elisp-autoloads
      - 8.8.10.1 Specialized Methods
    - 8.8.11 ede-proj-target-makefile-miscelaneous
      - 8.8.11.1 Specialized Methods
    - 8.8.12 ede-proj-target-makefile-info
      - 8.8.12.1 Specialized Methods
    - 8.8.13 ede-proj-target-scheme
      - 8.8.13.1 Specialized Methods
    - 8.8.14 project-am-target
      - 8.8.14.1 Specialized Methods
    - 8.8.15 project-am-objectcode
      - 8.8.15.1 Specialized Methods
    - 8.8.16 project-am-program
    - 8.8.17 project-am-header-noinst
      - 8.8.17.1 Specialized Methods
    - 8.8.18 project-am-header-inst
      - 8.8.18.1 Specialized Methods
    - 8.8.19 project-am-lisp
      - 8.8.19.1 Specialized Methods
    - 8.8.20 project-am-texinfo
      - 8.8.20.1 Specialized Methods
    - 8.8.21 project-am-man
      - 8.8.21.1 Specialized Methods
  - 8.9 Sourcecode
    - 8.9.1 ede-sourcecode
      - 8.9.1.1 Specialized Methods
  - 8.10 Compilers
    - 8.10.1 ede-compilation-program
      - 8.10.1.1 Specialized Methods
    - 8.10.2 ede-compiler
      - 8.10.2.1 Specialized Methods
    - 8.10.3 ede-object-compiler
      - 8.10.3.1 Specialized Methods
    - 8.10.4 ede-linker
- Appendix A GNU Free Documentation License

Next: EDE Project Concepts, Previous: (dir), Up: (dir) [Contents]

# EDE

EDE is the Emacs Development Environment: an Emacs extension that simplifies building and debugging programs in Emacs. It attempts to emulate a typical IDE (Integrated Development Environment). EDE can manage or create your makefiles and other building environment duties, allowing you to concentrate on writing code rather than support files. It aims to make it much easier for new programmers to learn and adopt GNU ways of doing things.

This file describes EDE, the Emacs Development Environment.

Copyright © 1998–2001, 2004–2005, 2008–2016 Free Software Foundation, Inc.

> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.”

> (a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual.”

Next: EDE Project Concepts, Previous: (dir), Up: (dir) [Contents]