======================== BuildMgr Module ======================
== Code Management scripts / top level makefile for SOPHYA ====
===============================================================

### README file for SOPHYA Build makefiles and scripts (BuildMgr) ####
See http://www.sophya.org and the SOPHYA overview manual for more information


A/ Software build and installation :
====================================

1/ Configuration: 
csh> cd BuildMgr/
csh> ./configure -h
# configure with c-fitsio, installed in /usr/local/include and /usr/local/lib, 
# with g++ as cxx compiler. The target installation directory is $HOME/SObjs/ 
# To get c-fitsio : http://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html


# Create the target installation directory (if not already existing)
csh> mkdir ~/SObjs
# Define the SOPHYABASE environment variable
csh> setenv $SOPHYABASE ~/SObjs/
# run the configure script 
csh> ./configure -sbase $SOPHYABASE -scxx g++ -extp /usr/local 
     -noext fftw -noext lapack -noext astro -noext minuit

2/ compile and build the libraries
csh> make libs extlibs slb slbext 
# Or if you want to compile also PI (need Motif or Lesstif)
csh> make all slball 

3/ Compile some test and utility programs
csh> make basetests prgutil 
# To compile piapp
csh> make piapp 

4/ Currently tested on the following platform/compilers
-------------------------------------------------------------------------
Linux 2.4 , 2.6              g++ 3.x 4.0     (GNU g++ compiler)             
MacOSX/Darwin 10.3/104       g++ 3.3,4.0     (Apple/GNU compiler)
Linux 2.4                    icc 9.0         (Intel compiler)                  
HP/Compaq/DEC OSF 5.x        cxx 6.x         (native Tru64/OSF compiler)
SGI IRIX64                   CC  7.30        (IRIX-64 native compiler)
IBM AIX                      xlC 7.x         (AIX native compiler)
-------------------------------------------------------------------------

B/ Code management scripts
===========================

1/ configure : c-shell script configuration 
   ./configure -sbase /tmp/sbase/ -scxx cxx -extp /usr/local/extlibs\

2/ mkmflib : c-shell script for creation of library module Makefile / smakefile
   ./mkmflib -sbase /tmp/sbase SUtils

3/ mkmfprog : c-shell script for creation of programs module Makefile / smakefile
   ./mkmfprog -sbase /tmp/sbase SUtils

4/ domkmf : c-shell script : calls mkmflib for all modules 
   ./domkmf -sbase /tmp/sbase

5/ chk_cvs.csh : Compares/updates modules using CVS
  Usage: chk_cvs.csh [-a] [-all] [-nos] [-u] [r]
         chk_cvs.csh  -h  for help

6/ Makefile/smakefile : Top level makefile for library and program modules 

7/ Configuration files used to generate sophyamake.inc
   - Linux_g++_make.inc: Linux with g++ compiler 
   - OSF1_cxx_make.inc:  HP/Compaq/Digital Tru64 with native cxx compiler
   - Darwin_g++_make.inc: Apple/MacOSX with the native GNU compiler
   - IRIX64_CC_make.inc: SGI IRIX-64 system and native CC compiler 
   - AIX_xlC_make.inc : IBM AIX system and compiler xlC 
   - Linux_icc_make.inc : Linux with Intel compiler


C/ List of modules SOPHYA and PI modules
========================================

* BuildMgr/      Scripts for code management and makefiles
* BaseTools/     General architecture support classes
* TArray/        Template numerical arrays, vectors and matrices
* HiStats/       Histogram-ming and data set handling classes
* NTools/        Some standard numerical analysis tools 
* SUtils/        Utility classes and functions
* SysTools/      Interface to various services provided by the operating system
* SkyMap/        Local and full sky maps
* SkyT/          Spectral emission and detector frequency response modelling   
* Samba/         Miscellaneous classes (TOD analysis, Spherical Harmonics, ...)

Modules using external library 
* FitsIOServer/  FITS format file I/O (interface with cfitsio library)
* LinAlg/        Interface with Lapack linear algebra package
* IFFTW/         Interface with FFTW package
* XAstroPack/    Interface with astronomy library (XEphem)
                 The XEphem library code is in the SOPHYA module XephemAstroLib
* MinuitAdapt/   Inteface with the CERN Minuit minimization routines

* XephemAstroLib/ The code of the external XEphem astronomy library, extracted from XEphem

Modules with main programs
* Tests/         Simple test programs

* PMixer/        skymixer and utility main programs

* PrgUtil/       Utility main programs

* PrgMap/        Utility main programs for sky map manipulation

PI/piapp GUI and interactive analysis framework

* PI/            GUI class library and application framework
* PIGcont/       PI contour drawer
* PIext/         specific GUI objects for SOPHYA classes and piapp framework
* ProgPI/        interactive analysis tool using SOPHYA, PI PIGCont and PIext

