Add .info extension to @setfilename commands in doc/
[bpt/emacs.git] / doc / misc / ede.texi
index ddee7e6..c61a32c 100644 (file)
@@ -1,18 +1,19 @@
 \input texinfo
-@setfilename ../../info/ede
+@setfilename ../../info/ede.info
 @settitle Emacs Development Environment
+@documentencoding UTF-8
 
 @copying
 This file describes EDE, the Emacs Development Environment.
 
-Copyright @copyright{} 1998--2001, 2004--2005, 2008--2013
+Copyright @copyright{} 1998--2001, 2004--2005, 2008--2014
 Free Software Foundation, Inc.
 
 @quotation
 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,''
+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.''
 
@@ -30,6 +31,9 @@ modify this GNU manual.''
 @center @titlefont{EDE (The Emacs Development Environment)}
 @sp 4
 @center by Eric Ludlam
+@page
+@vskip 0pt plus 1filll
+@insertcopying
 @end titlepage
 @page
 
@@ -594,17 +598,6 @@ the format is an association list.  For example:
                          (compile-command . "make -f MyCustomMakefile all")))
 @end example
 
-The same is true when you use project-local variables with
-@ref{ede-java-root}.  For example:
-
-@example
-(ede-java-root-project "SOMENAME"
-                       :file "/dir/to/some/file"
-                       :local-variables
-                       '((grep-command . "grep -nHi -e ")
-                         (compile-command . "ant")))
-@end example
-
 @node EDE Project Features,  , Project Local Variables, Modifying your project
 @section EDE Project Features
 
@@ -720,12 +713,10 @@ To activate the speedbar in this mode, type @kbd{C-c . s}
 @menu
 * Make and Automake projects::  Project types of @samp{ede-project}
 * Automake direct projects::    Project interface on hand-written automake files.
-* Android projects::            Projects for Android development
-* Arduino projects::            Projects for Arduino sketches
 * Simple projects::             Projects @ede{} doesn't manage.
 @end menu
 
-@node Make and Automake projects
+@node Make and Automake projects, Automake direct projects, Miscellaneous commands, Miscellaneous commands
 @section Make and Automake projects
 
 A project of @samp{ede-project} type creates a file called
@@ -737,7 +728,7 @@ in @samp{Makefile} mode, then this project will autogenerate a
 routines will also import and maintain a configure.am script and a
 host of other files required by Automake.
 
-@node Automake direct projects
+@node Automake direct projects, Simple projects, Make and Automake projects, Miscellaneous commands
 @section Automake direct projects
 
 The project type that reads @file{Makefile.am} directly is derived
@@ -747,39 +738,7 @@ distributed independently.  This mode eventually became @ede{}.  The
 not generate them automatically, or create new ones.  As such, it is
 useful as a browsing tool, or as maintenance in managing file lists.
 
-@node Android projects
-@section Android projects
-
-An Android project of type @samp{ede-android-project} will detect and
-support development of Android apps.  Android projects use an
-@file{AndroidManifest.xml} file.  Always load your Manifest first in a
-running Emacs to make sure the project is identified correctly.
-
-Android projects can be created with @code{ede-new} but depend on a
-correctly configured Android SDK via @cedet{} support.
-
-@defun cedet-android-sdk-root
-@anchor{cedet-android-sdk-root}
-The root to the android @var{SDK}.
-@end defun
-
-Android projects support different configurations including compile,
-and install, which will upload a program to your Android device.  It
-also supports several debugging tools via @file{android.el}.
-
-@node Arduino projects
-@section Arduino projects
-
-An arduino project of type @samp{ede-arduino-project} will read your
-@file{~/.arduino/preferences.txt} file, and identify your sketches.
-You will still need the Arduino IDE to set up your preferences and
-locate your arduino.  After quitting the IDE, Emacs will be able to
-find your sketches, compile them, and upload them to your arduino.
-
-If you have the @file{arduino} command on your path, @ede{} will be
-able to find your SDK and compile your programs.
-
-@node Simple projects
+@node Simple projects,  , Automake direct projects, Miscellaneous commands
 @section Simple Projects
 
 There is a wide array of simple projects.  In this case a simple
@@ -791,14 +750,13 @@ belonging to a project, but doesn't provide many features of a typical
 
 @menu
 * ede-cpp-root::                This project marks the root of a C/C++ code project.
-* ede-java-root::               This project marks the root of a Java project.
 * ede-emacs::                   A project for working with Emacs.
 * ede-linux::                   A project for working with Linux kernels.
 * ede-generic-project::         A project type for wrapping build systems with EDE.
 * Custom Locate::               Customizing how to locate files in a simple project
 @end menu
 
-@node ede-cpp-root, ede-java-root, Simple projects, Simple projects
+@node ede-cpp-root, ede-emacs, Simple projects, Simple projects
 @subsection ede-cpp-root
 
 The @code{ede-cpp-root} project type allows you to create a single
@@ -834,6 +792,7 @@ override the default include path and system include path like this:
 (ede-cpp-root-project "NAME" :file "FILENAME"
     :include-path '( "/include" "../include" "/c/include" )
     :system-include-path '( "/usr/include/c++/3.2.2/" )
+    :compile-command "make compile"
     :spp-table '( ("MOOSE" . "")
                   ("CONST" . "const") ) )
 @end example
@@ -851,6 +810,9 @@ The @code{:system-include-path} allows you to specify full directory
 names to include directories where system header files can be found.
 These will be applied to files in this project only.
 
+With @code{:compile-command} you can provide a command which should be
+run when calling @code{ede-compile-project}.
+
 The @code{:spp-table} provides a list of project specific #define
 style macros that are unique to this project, passed in to the
 compiler on the command line, or are in special headers.
@@ -935,90 +897,7 @@ of project.
 @xref{ede-cpp-root-project}, for details about the class that defines
 the @code{ede-cpp-root} project type.
 
-@node ede-java-root, ede-emacs, ede-cpp-root, Simple projects
-@subsection ede-java-root
-
-Much like the project type @ref{ede-cpp-root}, the java variant is
-can be setup in your @file{.emacs} file and just marks a directory as
-the root of a java source tree.
-
-The @code{ede-java-root} project class knows a few things about Java
-projects.  In particular, you can use it to control your classpath at
-both the system level, and for your project.  If it is insufficient,
-you can subclass @code{ede-java-root-project} and add your own tweaks
-in just a few lines.  See @ref{ede-cpp-root} for an example using the
-C++ variant.
-
-In the most basic case, add this to your @file{.emacs} file, modifying
-appropriate bits as needed.
-
-@example
-(ede-java-root-project "SOMENAME" :file "/dir/to/some/file" :srcroot '("src"))
-@end example
-
-Replace @var{SOMENAME} with whatever name you want, and the filename
-to an actual file at the root of your project.  It might be a
-Makefile, a README file.  Whatever.  It doesn't matter.  It's just a
-key to hang the rest of @ede{} off of.
-
-Replace the value of :srcroot with a list of directories under the
-project root which contains Java sources.  For example, if you have:
-
-@example
-~/myprojects/P1/
-~/myprojects/P1/src/
-~/myprojects/P1/src/com/ericsoft/MyCode.java
-~/myprojects/P1/doc/
-@end example
-
-Then @file{src} represents the directory under which all your Java
-code is.  It is important that @file{src} is one step above the
-directory that is the base of your package name, such as
-@file{com/ericsoft} in the example above so that new files can be
-discovered via fully qualified name.  You can have multiple such
-directories in one project, and each will be accessible.
-
-You can specify your classpath like this:
-
-@example
-(ede-java-root-project "NAME" :file "FILENAME"
-    :srcroot '("src")
-    :classpath '("/absolute/path.jar")
-    :localclasspath '( "/relative/path.jar" ))
-@end example
-
-In this example, @code{:classpath} specifies absolute paths somewhere
-on your system, and the explicit jar or source root directories
-@semantic{} will search when performing completions.
-
-The @code{:localclasspath} is like @code{:classpath}, but it will
-contain path names relative to the root of your project.
-
-If you want to override the file-finding tool with your own
-function you can do this:
-
-@example
-(ede-java-root-project "NAME" :file "FILENAME" :locate-fcn 'MYFCN)
-@end example
-
-Where @var{MYFCN} is a symbol for a function.  The locate function can
-be used in place of @code{ede-expand-filename} so you can quickly
-customize your custom target to use specialized local routines instead
-of the default @ede{} routines.  The function symbol must take two
-arguments:
-
-@table @var
-@item NAME
-The name of the file to find.
-@item DIR
-The directory root for this java-root project.
-@end table
-
-If you would like to create your Java projects dynamically, instead of
-putting them all in your @file{.emacs}, you can do that too.  See
-@ref{ede-cpp-root} for details that can be applied to this project type.
-
-@node ede-emacs, ede-linux, ede-java-root, Simple projects
+@node ede-emacs, ede-linux, ede-cpp-root, Simple projects
 @subsection ede-emacs
 
 The @code{ede-emacs} project automatically identifies an Emacs source
@@ -1036,6 +915,12 @@ Kernel source tree, and enable EDE project mode for it.
 It pre-populates the C Preprocessor symbol map for reasonable parsing,
 and has an optimized include file identification function.
 
+Through the variables @code{project-linux-build-directory-default} and
+@code{project-linux-architecture-default}, you can set the build
+directory and its architecture, respectively.  The default is to assume that
+the build happens in the source directory and to auto-detect the
+architecture; if the auto-detection fails, you will be asked.
+
 @node ede-generic-project, Custom Locate, ede-linux, Simple projects
 @subsection ede-generic-project
 
@@ -1050,7 +935,7 @@ other options for that project.  The configuration is saved in
 
 Generic projects are disabled by default because they have the
 potential to interfere with other projects.  To use the generic
-project sytem to start detecting projects, you need to enable it.
+project system to start detecting projects, you need to enable it.
 
 @deffn Command ede-enable-generic-projects
 Enable generic project loaders.
@@ -1315,7 +1200,7 @@ until one of them returns true.  The method
 from the autoload.  If it is a string (i.e., a project file name), it
 checks to see if that exists in BUFFER's directory.  If it is a
 function, then it calls that function and expects it to return a file
-name or nil.  If the file exists, then this directory is assumed to be
+name or @code{nil}.  If the file exists, then this directory is assumed to be
 part of a project, and @code{ede-directory-project-p} returns the
 instance of @code{ede-project-autoload} that matched.
 
@@ -1390,11 +1275,11 @@ Return a string that is the name of the target used by a Make system.
 A brief description of the project or target.  This is currently used
 by the @samp{ede-speedbar} interface.
 @item ede-want-file-p
-Return non-nil if a target will accept a given file.
+Return non-@code{nil} if a target will accept a given file.
 It is generally unnecessary to override this.  See the section on source
 code.
 @item ede-buffer-mine
-Return non-nil if a buffer belongs to this target.  Used during
+Return non-@code{nil} if a buffer belongs to this target.  Used during
 association when a file is loaded.  It is generally unnecessary to
 override this unless you keep auxiliary files.
 @end table
@@ -1564,26 +1449,22 @@ Type: @code{string} @*
 Default Value: @code{"Untitled"}
 
 The name used when generating distribution files.
-@refill
 
 @item :version
 Type: @code{string} @*
 Default Value: @code{"1.0"}
 
 The version number used when distributing files.
-@refill
 
 @item :directory
 Type: @code{string}
 
 Directory this project is associated with.
-@refill
 
 @item :file
 Type: @code{string}
 
 File name where this project is stored.
-@refill
 
 @end table
 
@@ -1656,35 +1537,30 @@ Make sure placeholder @var{THIS} is replaced with the real thing, and pass throu
 Type: @code{list}
 
 List of top level targets in this project.
-@refill
 
 @item :tool-cache
 Type: @code{list}
 
 List of tool cache configurations in this project.
 This allows any tool to create, manage, and persist project-specific settings.
-@refill
 
 @item :web-site-url
 Type: @code{string} @*
 
 URL to this projects web site.
 This is a URL to be sent to a web site for documentation.
-@refill
 
 @item :web-site-directory @*
 
 A directory where web pages can be found by Emacs.
 For remote locations use a path compatible with ange-ftp or EFS@.
 You can also use TRAMP for use with rcp & scp.
-@refill
 
 @item :web-site-file @*
 
 A file which contains the home page for this project.
 This file can be relative to slot @code{web-site-directory}.
 This can be a local file, use ange-ftp, EFS, or TRAMP.
-@refill
 
 @item :ftp-site
 Type: @code{string} @*
@@ -1692,7 +1568,6 @@ Type: @code{string} @*
 FTP site where this project's distribution can be found.
 This FTP site should be in Emacs form, as needed by @code{ange-ftp}, but can
 also be of a form used by TRAMP for use with scp, or rcp.
-@refill
 
 @item :ftp-upload-site
 Type: @code{string} @*
@@ -1700,7 +1575,6 @@ Type: @code{string} @*
 FTP Site to upload new distributions to.
 This FTP site should be in Emacs form as needed by @code{ange-ftp}.
 If this slot is @code{nil}, then use @code{ftp-site} instead.
-@refill
 
 @item :configurations
 Type: @code{list} @*
@@ -1709,19 +1583,16 @@ Default Value: @code{("debug" "release")}
 List of available configuration types.
 Individual target/project types can form associations between a configuration,
 and target specific elements such as build variables.
-@refill
 
 @item :configuration-default @*
 Default Value: @code{"debug"}
 
 The default configuration.
-@refill
 
 @item :local-variables @*
 Default Value: @code{nil}
 
 Project local variables
-@refill
 
 @end table
 
@@ -1743,7 +1614,7 @@ Provide a speedbar description for @var{OBJ}.
 @end deffn
 
 @deffn Method ede-map-any-target-p :AFTER this proc
-For project @var{THIS}, map @var{PROC} to all targets and return if any non-nil.
+For project @var{THIS}, map @var{PROC} to all targets and return if any non-@code{nil}.
 Return the first non-@code{nil} value returned by @var{PROC}.
 @end deffn
 
@@ -1897,7 +1768,7 @@ If @var{TARGET} belongs to a subproject, return that project file.
 @end deffn
 
 @deffn Method ede-find-target :AFTER proj buffer
-Fetch the target in @var{PROJ} belonging to @var{BUFFER} or nil.
+Fetch the target in @var{PROJ} belonging to @var{BUFFER} or @code{nil}.
 @end deffn
 
 @deffn Method ede-add-subproject :AFTER proj-a proj-b
@@ -1956,7 +1827,7 @@ Type: @code{list} @*
 Default Value: @code{(quote ("/include" "../include/"))}
 
 The default locate function expands filenames within a project.
-If a header file (.h, .hh, etc) name is expanded, and
+If a header file (.h, .hh, etc.)@: name is expanded, and
 the @code{:locate-fcn} slot is @code{nil}, then the include path is checked
 first, and other directories are ignored.  For very large
 projects, this optimization can save a lot of time.
@@ -1966,7 +1837,6 @@ buffer's @code{default-directory} (not starting with a /).  Directories
 that are relative to the project's root should start with a /, such
 as  "/include", meaning the directory @code{include} off the project root
 directory.
-@refill
 
 @item :system-include-path
 Type: @code{list} @*
@@ -1976,7 +1846,6 @@ The system include path for files in this project.
 C files initialized in an ede-cpp-root-project have their semantic
 system include path set to this value.  If this is @code{nil}, then the
 semantic path is not modified.
-@refill
 
 @item :spp-table
 Type: @code{list} @*
@@ -1988,7 +1857,6 @@ These macros might be passed in through the command line compiler, or
 are critical symbols derived from header files.  Providing header files
 macro values through this slot improves accuracy and performance.
 Use `:spp-files' to use these files directly.
-@refill
 
 @item :spp-files
 Type: @code{list} @*
@@ -1998,14 +1866,12 @@ C header file with Preprocessor macros for your files.
 The PreProcessor symbols appearing in these files will be used while
 parsing files in this project.
 See @code{semantic-lex-c-preprocessor-symbol-map} for more on how this works.
-@refill
 
 @item :header-match-regexp
 Type: @code{string} @*
 Default Value: @code{"\\.\\(h\\(h\\|xx\\|pp\\|\\+\\+\\)?\\|H\\)$\\|\\<\\w+$"}
 
 Regexp used to identify C/C++ header files.
-@refill
 
 @item :locate-fcn
 Type: @code{(or null function)} @*
@@ -2018,9 +1884,8 @@ The function symbol must take two arguments:
   NAME - The name of the file to find.
   DIR - The directory root for this cpp-root project.
 
-It should return the fully qualified file name passed in from NAME@.  If that file does not
-exist, it should return nil.
-@refill
+It should return the fully qualified file name passed in from NAME@.
+If that file does not exist, it should return @code{nil}.
 
 @end table
 
@@ -2144,14 +2009,12 @@ The type of Makefile to generate.
 Can be one of @code{'Makefile}, 'Makefile.in, or 'Makefile.am.
 If this value is NOT @code{'Makefile}, then that overrides the @code{:makefile} slot
 in targets.
-@refill
 
 @item :variables
 Type: @code{list} @*
 Default Value: @code{nil}
 
 Variables to set in this Makefile.
-@refill
 
 @item :configuration-variables
 Type: @code{list} @*
@@ -2159,27 +2022,23 @@ Default Value: @code{("debug" (("DEBUG" . "1")))}
 
 Makefile variables to use in different configurations.
 These variables are used in the makefile when a configuration becomes active.
-@refill
 
 @item :inference-rules @*
 Default Value: @code{nil}
 
 Inference rules to add to the makefile.
-@refill
 
 @item :include-file @*
 Default Value: @code{nil}
 
 Additional files to include.
 These files can contain additional rules, variables, and customizations.
-@refill
 
 @item :automatic-dependencies
 Type: @code{boolean} @*
 Default Value: @code{t}
 
 Non-@code{nil} to do implement automatic dependencies in the Makefile.
-@refill
 
 @item :metasubproject
 Type: @code{boolean} @*
@@ -2188,9 +2047,8 @@ Default Value: @code{nil}
 Non-@code{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 @code{dist} rule will then avoid
+to set this to non-@code{nil}.  The only effect is that the @code{dist} rule will then avoid
 making a tar file.
-@refill
 
 @end table
 
@@ -2380,7 +2238,6 @@ Type: @code{list} @*
 Default Value: @code{nil}
 
 Variables to set in this Makefile, at top of file.
-@refill
 
 @item :additional-variables
 Type: @code{(or null list)} @*
@@ -2388,7 +2245,6 @@ Default Value: @code{nil}
 
 Arbitrary variables needed from this project.
 It is safe to leave this blank.
-@refill
 
 @item :additional-rules
 Type: @code{(or null list)} @*
@@ -2396,7 +2252,6 @@ Default Value: @code{nil}
 
 Arbitrary rules and dependencies needed to make this target.
 It is safe to leave this blank.
-@refill
 
 @item :installation-domain
 Type: @code{symbol} @*
@@ -2404,7 +2259,6 @@ Default Value: @code{user}
 
 Installation domain specification.
 The variable GNUSTEP_INSTALLATION_DOMAIN is set at this value.
-@refill
 
 @item :preamble
 Type: @code{(or null list)} @*
@@ -2412,7 +2266,6 @@ Default Value: @code{(quote ("GNUmakefile.preamble"))}
 
 The auxiliary makefile for additional variables.
 Included just before the specific target files.
-@refill
 
 @item :postamble
 Type: @code{(or null list)} @*
@@ -2420,7 +2273,6 @@ Default Value: @code{(quote ("GNUmakefile.postamble"))}
 
 The auxiliary makefile for additional rules.
 Included just after the specific target files.
-@refill
 
 @item :metasubproject
 Type: @code{boolean} @*
@@ -2429,9 +2281,8 @@ Default Value: @code{nil}
 Non-@code{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 @code{dist} rule will then avoid
+to set this to non-@code{nil}.  The only effect is that the @code{dist} rule will then avoid
 making a tar file.
-@refill
 
 @end table
 
@@ -2536,21 +2387,18 @@ Commit change to local variables in @var{PROJ}.
 Type: @code{string}
 
 Name of this target.
-@refill
 
 @item :path
 Type: @code{string}
 
 The path to the sources of this target.
 Relative to the path of the project it belongs to.
-@refill
 
 @item :source
 Type: @code{list} @*
 Default Value: @code{nil}
 
 Source files in this target.
-@refill
 
 @item :versionsource
 Type: @code{list} @*
@@ -2560,7 +2408,6 @@ Source files with a version string in them.
 These files are checked for a version string whenever the EDE version
 of the master project is changed.  When strings are found, the version
 previously there is updated.
-@refill
 
 @end table
 
@@ -2752,14 +2599,12 @@ Retrieves the slot @code{menu} from an object of class @code{ede-target}
 Type: @code{string}
 
 Name of this target.
-@refill
 
 @item :path
 Type: @code{string}
 
 The path to the sources of this target.
 Relative to the path of the project it belongs to.
-@refill
 
 @item :auxsource
 Type: @code{list} @*
@@ -2768,7 +2613,6 @@ Default Value: @code{nil}
 Auxiliary source files included in this target.
 Each of these is considered equivalent to a source file, but it is not
 distributed, and each should have a corresponding rule to build it.
-@refill
 
 @item :compiler
 Type: @code{(or null symbol)} @*
@@ -2778,7 +2622,6 @@ The compiler to be used to compile this object.
 This should be a symbol, which contains the object defining the compiler.
 This enables save/restore to do so by name, permitting the sharing
 of these compiler resources, and global customization thereof.
-@refill
 
 @item :linker
 Type: @code{(or null symbol)} @*
@@ -2788,7 +2631,6 @@ The linker to be used to link compiled sources for this object.
 This should be a symbol, which contains the object defining the linker.
 This enables save/restore to do so by name, permitting the sharing
 of these linker resources, and global customization thereof.
-@refill
 
 @end table
 
@@ -2950,7 +2792,6 @@ Type: @code{string} @*
 Default Value: @code{"Makefile"}
 
 File name of generated Makefile.
-@refill
 
 @item :partofall
 Type: @code{boolean} @*
@@ -2959,7 +2800,6 @@ Default Value: @code{t}
 Non @code{nil} means the rule created is part of the all target.
 Setting this to @code{nil} creates the rule to build this item, but does not
 include it in the ALL`all:' rule.
-@refill
 
 @item :configuration-variables
 Type: @code{list} @*
@@ -2969,7 +2809,6 @@ Makefile variables appended to use in different configurations.
 These variables are used in the makefile when a configuration becomes active.
 Target variables are always renamed such as foo_CFLAGS, then included into
 commands where the variable would usually appear.
-@refill
 
 @item :rules
 Type: @code{list} @*
@@ -2977,7 +2816,6 @@ Default Value: @code{nil}
 
 Arbitrary rules and dependencies needed to make this target.
 It is safe to leave this blank.
-@refill
 
 @end table
 
@@ -3221,7 +3059,6 @@ The linker flag "-l" is automatically prepended.  Do not include a "lib"
 prefix, or a ".so" suffix.
 
 Note: Currently only used for Automake projects.
-@refill
 
 @item :ldflags
 Type: @code{list} @*
@@ -3232,7 +3069,6 @@ Use ldlibs to add addition libraries.  Use this to specify specific
 options to the linker.
 
 Note: Not currently used.  This bug needs to be fixed.
-@refill
 
 @end table
 
@@ -3358,7 +3194,6 @@ Additional packages needed.
 There should only be one toplevel package per auxiliary tool needed.
 These packages location is found, and added to the compile time
 load path.
-@refill
 
 @end table
 
@@ -3439,7 +3274,6 @@ Default Value: @code{"loaddefs.el"}
 The file that autoload definitions are placed in.
 There should be one load defs file for a given package.  The load defs are created
 for all Emacs Lisp sources that exist in the directory of the created target.
-@refill
 
 @item :autoload-dirs
 Type: @code{list} @*
@@ -3447,7 +3281,6 @@ Default Value: @code{nil}
 
 The directories to scan for autoload definitions.
 If @code{nil} defaults to the current directory.
-@refill
 
 @end table
 
@@ -3547,7 +3380,6 @@ Default Value: @code{""}
 
 Miscellaneous sources which have a specialized makefile.
 The sub-makefile is used to build this target.
-@refill
 
 @end table
 
@@ -3604,7 +3436,6 @@ Default Value: @code{""}
 
 The main menu resides in this file.
 All other sources should be included independently.
-@refill
 
 @end table
 
@@ -3687,7 +3518,6 @@ Type: @code{string} @*
 Default Value: @code{"guile"}
 
 The preferred interpreter for this code.
-@refill
 
 @end table
 
@@ -3817,7 +3647,6 @@ No children
 Default Value: @code{nil}
 
 Additional LD args.
-@refill
 @end table
 @end table
 
@@ -3949,7 +3778,6 @@ No children
 Default Value: @code{nil}
 
 Additional texinfo included in this one.
-@refill
 
 @end table
 @end table
@@ -4036,21 +3864,18 @@ Type: @code{eieio-instance-inheritor-child}
 The parent of this instance.
 If a slot of this class is reference, and is unbound, then  the parent
 is checked for a value.
-@refill
 
 @item :name
 Type: @code{string}
 
 The name of this type of source code.
 Such as "C" or "Emacs Lisp"
-@refill
 
 @item :sourcepattern
 Type: @code{string} @*
 Default Value: @code{".*"}
 
 Emacs regex matching sourcecode this target accepts.
-@refill
 
 @item :auxsourcepattern
 Type: @code{(or null string)} @*
@@ -4059,7 +3884,6 @@ Default Value: @code{nil}
 Emacs regex matching auxiliary source code this target accepts.
 Aux source are source code files needed for compilation, which are not compiled
 themselves.
-@refill
 
 @item :enable-subdirectories
 Type: @code{boolean} @*
@@ -4069,7 +3893,6 @@ Non @code{nil} if this sourcecode type uses subdirectores.
 If sourcecode always lives near the target creating it, this should be nil.
 If sourcecode can, or typically lives in a subdirectory of the owning
 target, set this to t.
-@refill
 
 @item :garbagepattern
 Type: @code{list} @*
@@ -4078,7 +3901,6 @@ Default Value: @code{nil}
 Shell file regex matching files considered as garbage.
 This is a list of items added to an @code{rm} command when executing a @code{clean}
 type directive.
-@refill
 
 @end table
 
@@ -4158,13 +3980,11 @@ Type: @code{eieio-instance-inheritor-child}
 The parent of this instance.
 If a slot of this class is reference, and is unbound, then  the parent
 is checked for a value.
-@refill
 
 @item :name
 Type: @code{string}
 
 Name of this type of compiler.
-@refill
 
 @item :variables
 Type: @code{list}
@@ -4173,7 +3993,6 @@ Variables needed in the Makefile for this compiler.
 An assoc list where each element is (VARNAME . VALUE) where VARNAME
 is a string, and VALUE is either a string, or a list of strings.
 For example, GCC would define CC=gcc, and emacs would define EMACS=emacs.
-@refill
 
 @item :sourcetype
 Type: @code{list}
@@ -4181,7 +4000,6 @@ Type: @code{list}
 A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle.
 This is used to match target objects with the compilers and linkers
 they can use, and which files this object is interested in.
-@refill
 
 @item :rules
 Type: @code{list} @*
@@ -4189,7 +4007,6 @@ Default Value: @code{nil}
 
 Auxiliary rules needed for this compiler to run.
 For example, yacc/lex files need additional chain rules, or inferences.
-@refill
 
 @item :commands
 Type: @code{list}
@@ -4197,7 +4014,6 @@ Type: @code{list}
 The commands used to execute this compiler.
 The object which uses this compiler will place these commands after
 it's rule definition.
-@refill
 
 @item :autoconf
 Type: @code{list} @*
@@ -4208,14 +4024,12 @@ When a project is in Automake mode, this defines the autoconf function to
 call to initialize automake to use this compiler.
 For example, there may be multiple C compilers, but they all probably
 use the same autoconf form.
-@refill
 
 @item :objectextention
 Type: @code{string}
 
 A string which is the extension used for object files.
 For example, C code uses .o on unix, and Emacs Lisp uses .elc.
-@refill
 
 @end table
 
@@ -4285,13 +4099,11 @@ Type: @code{eieio-instance-inheritor-child}
 The parent of this instance.
 If a slot of this class is reference, and is unbound, then  the parent
 is checked for a value.
-@refill
 
 @item :name
 Type: @code{string}
 
 Name of this type of compiler.
-@refill
 
 @item :variables
 Type: @code{list}
@@ -4300,7 +4112,6 @@ Variables needed in the Makefile for this compiler.
 An assoc list where each element is (VARNAME . VALUE) where VARNAME
 is a string, and VALUE is either a string, or a list of strings.
 For example, GCC would define CC=gcc, and emacs would define EMACS=emacs.
-@refill
 
 @item :sourcetype
 Type: @code{list}
@@ -4308,7 +4119,6 @@ Type: @code{list}
 A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle.
 This is used to match target objects with the compilers and linkers
 they can use, and which files this object is interested in.
-@refill
 
 @item :commands
 Type: @code{list}
@@ -4316,21 +4126,18 @@ Type: @code{list}
 The commands used to execute this compiler.
 The object which uses this compiler will place these commands after
 it's rule definition.
-@refill
 
 @item :objectextention
 Type: @code{string}
 
 A string which is the extension used for object files.
 For example, C code uses .o on unix, and Emacs Lisp uses .elc.
-@refill
 
 @item :makedepends
 Type: @code{boolean} @*
 Default Value: @code{nil}
 
 Non-@code{nil} if this compiler can make dependencies.
-@refill
 
 @item :uselinker
 Type: @code{boolean} @*
@@ -4339,7 +4146,6 @@ Default Value: @code{nil}
 Non-@code{nil} if this compiler creates code that can be linked.
 This requires that the containing target also define a list of available
 linkers that can be used.
-@refill
 
 @end table
 
@@ -4399,7 +4205,6 @@ Default Value: @code{t}
 Type: @code{list}
 
 A variable dedicated to dependency generation.
-@refill
 @end table
 @end table
 
@@ -4439,7 +4244,6 @@ No children
 Type: @code{string}
 
 Name of this type of compiler.
-@refill
 
 @item :variables
 Type: @code{list}
@@ -4448,7 +4252,6 @@ Variables needed in the Makefile for this compiler.
 An assoc list where each element is (VARNAME . VALUE) where VARNAME
 is a string, and VALUE is either a string, or a list of strings.
 For example, GCC would define CC=gcc, and emacs would define EMACS=emacs.
-@refill
 
 @item :sourcetype
 Type: @code{list}
@@ -4456,7 +4259,6 @@ Type: @code{list}
 A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle.
 This is used to match target objects with the compilers and linkers
 they can use, and which files this object is interested in.
-@refill
 
 @item :commands
 Type: @code{list}
@@ -4464,19 +4266,17 @@ Type: @code{list}
 The commands used to execute this compiler.
 The object which uses this compiler will place these commands after
 it's rule definition.
-@refill
 
 @item :objectextention
 Type: @code{string}
 
 A string which is the extension used for object files.
 For example, C code uses .o on unix, and Emacs Lisp uses .elc.
-@refill
 
 @end table
 @end table
 
-@node GNU Free Documentation License, , Extending EDE, Top
+@node GNU Free Documentation License,  , Extending EDE, Top
 @appendix GNU Free Documentation License
 @include doclicense.texi