@c -*-texinfo-*-
@c
@c $Id: ede-sourcecode.texi,v 1.2 2001/04/27 00:19:52 zappo Exp $
@c

@c The next line is for the back-search to see what node this one
@c resides in.

@c @node Sourcecode,
@c @chapter Source Code Types

@c This command is a convenience to help rebuild this file.  Use C-x C-e
@c on the expression below to rebuild the entire index (but only
@c after loading in all relevant source files.)

@c (eieiodoc-class ede-sourcecode "sc")
@menu
* ede-sourcecode ::
@end menu


@node ede-sourcecode,  ,  , Sourcecode
@comment  node-name,  next,  previous,  up
@section ede-sourcecode
@scindex ede-sourcecode

@table @asis
@item Inheritance Tree:
@table @code
@item eieio-instance-inheritor
@table @code
@item ede-sourcecode
No children
@end table

@end table
@end table

  Create a new object with name NAME of class type ede-sourcecode

@table @asis
@item Slots:

@table @code
@item :parent-instance
Type: @code{eieio-instance-inheritor}

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)} @*
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 comiled
themselves.
@refill

@item :enable-subdirectories
Type: @code{boolean} @*
Default Value: @code{nil}

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} @*
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

@end table
@subsection Specialized Methods

@deffn Method initialize-instance :AFTER this &rest fields 
Make sure that all ede compiler objects are cached in 
@code{ede-compiler-list}.
@end deffn

@deffn Method ede-want-any-files-p :PRIMARY this filenames 
Return non-@code{nil} if @var{THIS} will accept any files in @var{FILENAMES}.
@end deffn

@deffn Method ede-want-any-source-files-p :PRIMARY this filenames 
Return non-@code{nil} if @var{THIS} will accept any source files in @var{FILENAMES}.
@end deffn

@deffn Method ede-want-any-auxiliary-files-p :PRIMARY this filenames 
Return non-@code{nil} if @var{THIS} will accept any aux files in @var{FILENAMES}.
@end deffn

@deffn Method ede-buffer-header-file :PRIMARY this filename 
Return a list of file names of header files for @var{THIS} with @var{FILENAME}.
Used to guess header files, but uses the auxsource regular expression.
@end deffn

@deffn Method ede-want-file-p :PRIMARY this filename 
Return non-@code{nil} if sourcecode definition @var{THIS} will take @var{FILENAME}.
@end deffn

@deffn Method ede-want-file-source-p :PRIMARY this filename 
Return non-@code{nil} if @var{THIS} will take @var{FILENAME} as an auxiliary .
@end deffn

@deffn Method ede-want-file-auxiliary-p :PRIMARY this filename 
Return non-@code{nil} if @var{THIS} will take @var{FILENAME} as an auxiliary .
@end deffn


