Next: project-am-makefile, Previous: ede-simple-base-project, Up: Project

#### 7.5.6 ede-proj-project

Inheritance Tree:
  `eieio-speedbar`
    `eieio-speedbar-directory-button`
      `See ede-project-placeholder.`
        `See ede-project.`
          `ede-proj-project`
            No children

Slots:
  `:makefile-type`
    Type: `symbol`
    Default Value: `Makefile`

    The type of Makefile to generate. Can be one of `'Makefile`, 'Makefile.in, or 'Makefile.am. If this value is NOT `'Makefile`, then that overrides the `:makefile` slot in targets.

  `:variables`
    Type: `list`
    Default Value: `nil`

    Variables to set in this Makefile.

  `:configuration-variables`
    Type: `list`
    Default Value: `("debug" (("DEBUG" . "1")))`

    Makefile variables to use in different configurations. These variables are used in the makefile when a configuration becomes active.

  `:inference-rules
  `
    Default Value: `nil`

    Inference rules to add to the makefile.

  `:include-file
  `
    Default Value: `nil`

    Additional files to include. These files can contain additional rules, variables, and customizations.

  `:automatic-dependencies`
    Type: `boolean`
    Default Value: `t`

    Non-`nil` to do implement automatic dependencies in the Makefile.

  `:metasubproject`
    Type: `boolean`
    Default Value: `nil`

    Non-`nil` if this is a metasubproject. Usually, a subproject is determined by a parent project. If multiple top level projects are grouped into a large project not maintained by EDE, then you need to set this to non-nil. The only effect is that the `dist` rule will then avoid making a tar file.

##### 7.5.6.1 Specialized Methods

— Method: ede-proj-makefile-create :AFTER this mfilename

> Create a Makefile for all Makefile targets in THIS. MFILENAME is the makefile to generate.

— Method: ede-proj-makefile-insert-rules :AFTER this

> Insert rules needed by THIS target.

— Method: ede-proj-makefile-tags :AFTER this targets

> Insert into the current location rules to make recursive TAGS files. Argument THIS is the project to create tags for. Argument TARGETS are the targets we should depend on for TAGS.

— Method: ede-proj-makefile-insert-variables :AFTER this

> Insert variables needed by target THIS.

— Method: project-make-dist :AFTER this

> Build a distribution for the project based on THIS target.

— Method: ede-proj-makefile-insert-dist-rules :AFTER this

> Insert distribution rules for THIS in a Makefile, such as CLEAN and DIST.

— Method: ede-proj-makefile-insert-dist-dependencies :AFTER this

> Insert any symbols that the DIST rule should depend on. Argument THIS is the project that should insert stuff.

— Method: ede-proj-makefile-insert-subproj-rules :AFTER this

> Insert a rule for the project THIS which should be a subproject.

— Method: ede-proj-makefile-create-maybe :AFTER this mfilename

> Create a Makefile for all Makefile targets in THIS if needed. MFILENAME is the makefile to generate.

— Method: ede-proj-configure-test-required-file :AFTER this file

> For project THIS, test that the file FILE exists, or create it.

— Method: ede-proj-setup-buildenvironment :AFTER this &optional force

> Setup the build environment for project THIS. Handles the Makefile, or a Makefile.am configure.in combination. Optional argument FORCE will force items to be regenerated.

— Method: ede-proj-makefile-garbage-patterns :AFTER this

> Return a list of patterns that are considered garbage to THIS. These are removed with make clean.

— Method: ede-proj-configure-synchronize :AFTER this

> Synchronize what we know about project THIS into configure.in.

— Method: ede-proj-makefile-insert-variables-new :AFTER this

> Insert variables needed by target THIS.

> NOTE: Not yet in use! This is part of an SRecode conversion of EDE that is in progress.

— Method: ede-proj-makefile-configuration-variables :AFTER this configuration

> Return a list of configuration variables from THIS. Use CONFIGURATION as the current configuration to query.

— Method: eieio-done-customizing :AFTER proj

> Call this when a user finishes customizing this object. Argument PROJ is the project to save.

— Method: ede-proj-configure-recreate :AFTER this

> Delete project THISes configure script and start over.

— Method: ede-proj-makefile-insert-user-rules :AFTER this

> Insert user specified rules needed by THIS target. This is different from ede-proj-makefile-insert-rules in that this function won't create the building rules which are auto created with automake.

— Method: ede-proj-dist-makefile :AFTER this

> Return the name of the Makefile with the DIST target in it for THIS.

— Method: ede-proj-configure-file :AFTER this

> The configure.in script used by project THIS.

— Method: ede-commit-project :AFTER proj

> Commit any change to PROJ to its file.

— Method: project-dist-files :AFTER this

> Return a list of files that constitutes a distribution of THIS project.

— Method: ede-commit-local-variables :AFTER proj

> Commit change to local variables in PROJ.