SAM Prototype -   Structure of each product/cvs package/Standards

Package Structure

Common  subdirectories

For package named  sam_xxx   header files or other include files should be in a subdirectory named
sam_xxx


src
doc --  subdirectory www   for public web persona of the package
src
python
test
example
ups   (if standalone product that user will 'setup')
cgi
bin
lib
init
data
rcp
idl
include   - if it exists should be a logical link to the sam_xxx directory

Common files at top level directory (not all of them in all packages)

index.html (introduction for source browsing)
changelog
README
INSTALL
README.<platform>     where <platform> = Linux,Solaris,Irix52  etc...
NEWS  - release notes
TAGS
TODO
VERSION

Making the product/package

GNUmakefile  at each level of directory/subdirectory where files are constructed.

We will not use SoftRelTools environment - yet - but will build the system so that it will be easy to use later.  So each GNUmakefile will set its own flags etc. and not include a standard.mk

Some GNUmakefile information  as used in Dzero   is   here
The example GNUmakefile referred to is here.  It is very SoftRelTools specific.  Currently the makefiles for SAM in a src directory look more like this or this and are evolving. Look in various packages for examples, including examples of GNUmakefile at the top level.

Discussion from Heidi, aimed at Dzero startup coders is  here - some parts of it are relevant, but not all.
 

Coding Standards

Dzero Draft C++ Coding Standards document -  can be found here.
We will adhere to these for C++ code unless there is some specific reason presented on why not to.