Next: , Previous: Tools, Up: Philosophy



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.