Table of Contents

RPSL directories and targets

The figure above shows an RPSL sandbox tree with some libraries (lib1 and lib2).  
The project and local sandboxes under ${RPSL_PROJ} and ${RPSL_USER} respectively
look the same but don't contain the RPSL scripts and utility files.  

The standard autotools tree for each library or executable module, such as lib1,
looks as follows:  

First, notice that source files can either be in the library source directory or
optionally also in subdirectories under the main source directory.  For a library
the main source directory has the same name as the library. For an executable,
the main source directory is called "src" or the name of the executable; and only 
one level is supported. For an executable tree there is no "pc" file.

Both library and executable trees have a "tests" directory that holds source
and scripts to test the contents of the tree.  Any executable file in tests 
called testScript* is considered to be a script to be called during "make check."
Any file called test*.<valid_source_extension> is considered to be a source file 
with a main() and is compiled to an executable with the same root name and then 
called during "make check."

The standard command "make install" will produce the following files:

include files

   libr1.h     (all header files bundled together)
   MyClass2/MyClass2.h  (source in a subdirectory - one level supported)

library archives

   liblibr1.a  (static archive)  (and some symbolic linking for versioning)  (libtool archive helper script)

pkg-config data


So to include an installed library in source code:

  #include <libr1/libr1.h>             for all headers in the library
  #include <libr1/MyClass1.h>          for a header in the library directory
  #include <libr1/MyClass2/MyClass2.h> for a header in its own subdirectory

In a library or executable tree, the dependencies are specified in the file 

For an executable, make install generates the following file, for example:



Table of Contents
William Snyder
Last modified: Sun Aug 28 01:10:48 EDT 2005