4.7 Source Tree
There is a very standardized form of a siliconBrain projects source
tree. The structural most important fact is, that the real sources are
kept clean from any generating or compilation results. These are all
put into a subdir temporary for results just needed for make
and distribution for the final results.
Currently all sources are in the projects home directory. Normally
this is ., when you are editing and making. Everything, which
is generated, compiled or what ever is put into the directory
temporary or distribution or its subdirectories. Unfortunately this is not true
for th TAGS file and not for emacs backup files.
Directory temporary contains all intermediate files (like
.o-files). distribution and some subdirectories contains all files, which are
needed when using a package, like documents and programs.
The following subdirectories of distribution are standard:
- data
- Containing files, which act as data not programs. This
data files should not be changed by the running package. Databases or
similar files should be allocated somewhere in /var/... or else
where, but not inside the package directory tree.
- documentation
- All kind of documentation: HTML files, info
files man pages and manuals as dvi-file. Here we have the following
subsubdirectories:
- man
- the man pages.
- web
- all generated HTML files. Mainly index.html the
starting page of a project.
- web/info
- HTML-files generated out of texinfo documents.
- web/sourceTree
- all sources of a project htmlilized and sytaxhighlited.
- programs
- All executable programs. This include binaries as
well as bash or awk scripts. The later don't have any special
extension. Programs, which cannot be started from within a command
shell (like EMACS lisp programs) are also included here. There is
conceptually no difference between a program running in a shell or in
EMACS. You can look at EMACS as just being another kind of shell.