Changeset 1041 in Sophya for trunk/SophyaLib/Mgr


Ignore:
Timestamp:
Jun 8, 2000, 4:55:13 PM (25 years ago)
Author:
ansari
Message:

MAJ README et correction Makefile , Reza 8/6/2000

Location:
trunk/SophyaLib/Mgr
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/Mgr/Makefile

    r997 r1041  
    2727        @echo "  $(DPCDEVREP)/`uname`-$(EROSCXX)"
    2828        if [ -d Mgr ] ; then cd Mgr; \
    29         ./crerep_sophya $(DPCDEVREP) $(EROSCXX); \
     29        ./crerep_sophya $(DPCDEVREP) `uname`-$(EROSCXX); \
    3030        ./makefileuser.csh; \
    3131        ./mkmflien -copy ; \
  • trunk/SophyaLib/Mgr/README

    r283 r1041  
    1 =================== Module Mgr ==================
    2 ===== Outils de gestion de code EROS/Planck =====
    3 =================================================
     1========================== Mgr Module =========================
     2========== Code Management scripts for Planck DPC-L2 ==========
     3===============================================================
    44
    5 Mini guide des scripts de gestion du code
    6                           Reza 04/99
     5List of modules:
     6==================
     7
     8* Mgr/           Scripts for code management and makefiles
     9* SysTools/      General architecture support classes
     10* TArray/        Template numerical arrays, vectors and matrices
     11* SkyMap/        Local and full sky maps
     12* SkyT/          Spectral emission and detector frequency response modelling   
     13* Samba/         Miscellaneous classes (TOD analysis, Spherical Harmonics, ...)
     14* NTools/        Some standard numerical analysis tools
     15* HiStats/       Histogram-ming and data set handling classes
     16
     17Modules using external library
     18* FitsIOServer/  FITS format file I/O (interface with cfitsio library)
     19* LinAlg/        Interface with Lapack linear algebra package
     20* IFFTW/         Interface with FFTW package
    721
    822
    9 * chk_cvs.csh
    10 --------------
    11   Permet de comparer/ updater par rapport a la base CVS
    12   Usage chk_cvs.csh [-a] [-all] [-nos] [-u] [r]
    13   Exemple : se mettre au dessus de Mgr/
    14   Mgr/chk_cvs.csh -u 
    15   Update tous les modules   
     23* Tests/         Simple test programs
    1624
    17 * crerep_peida
    18 --------------
    19   Creation des repertoires   $DEV/BASEREP/Include
     25* PMixer/        skymixer and utility main programs
     26
     27* PI/            GUI class library
     28* PIext/         specific GUI objects for SOPHYA classes and piapp framework
     29* ProgPI/        interactive analysis tool using SOPHYA, PI and PIext
     30
     31
     32Compilation and software installation:
     33======================================
     34
     35The build procedure for the present version of SOPHYA has been
     36tested on :
     37
     38Operating system            Compiler
     39......................................................................
     40Compaq/DEC OSF 4.0           cxx 6.1         (shared-library only)
     41Compaq/DEC OSF 4.0           g++ 2.95        (shared-library only)
     42SGI                          CC  7.30        (   "    "      "   )
     43Linux                        KCC 3.4         (   "    "      "   )
     44Linux                        g++ 2.91        (static and shared library)
     45Linux                        g++ 2.95        (static and shared library)
     46
     47
     48The environment variables  DPCDEVREP EXTLIBDIR EROSCXX must be defined
     49for building and installing the libraries.
     50
     51$EROSCXX is the name of C++ compiler being used.
     52$DPCDEVREP is the path to where the libraries and executables will be put.
     53$DPCDEVREP/Include : header files
     54The libraries and binaries will be put in subdirectories containing
     55the operating system name and the compiler name: `uname`-$EROSCXX
     56For example, on a Linux system, using the GNU compiler:
     57
     58$DPCDEVREP/Linux-g++/Libs     archive librarires
     59$DPCDEVREP/Linux-g++/ShLibs   shared libraries
     60$DPCDEVREP/Linux-g++/Exec     binaries
     61
     62The build procedure expects to find the include files and the libraries
     63for cfitsio in :
     64$EXTLIBDIR/Include/FitsIO
     65$EXTLIBDIR/`uname`-$EROSCXX/Libs
     66This would translate to Linux-g++ on a Linux system, using g++.
     67$EXTLIBDIR/Linux-g++/Libs
     68
     69Example of c-shell commands to build the libraries:
     70The use of GNU make program is mandatory
     71
     72# We select our C++ compiler
     73csh> setenv EROSCXX g++
     74# Setup the build directory
     75csh> mkdir /usr/local/Sophya/
     76csh> setenv DPCDEVREP /usr/local/Sophya/
     77csh> setenv EXTLIBDIR /usr/local/ExtLibs/
     78
     79# Use the top level makefile in Mgr/
     80csh> cd $SRC
     81csh> cp Mgr/Makefile Makefile
     82# Step 1: Create the directory tree and copy the include files (.h)
     83csh> make depend
     84# Step 2: Compile the modules without external library reference
     85csh> make libs
     86# Step 3: Compile the modules WITH  external library reference (optional)
     87csh> make extlibs
     88# Step 4: Build libsophya.so
     89csh> make slb
     90# Step 5: Build libextsophya.so
     91csh> make slbext
     92# Step 6: Compile the PI and PIext modules (optional)
     93csh> make PI
     94# Step 7: Build the corresponding shared library libPI.so (optional)
     95csh> make slbpi
     96
     97
     98To compile all modules and build the shared libraries, it is possible to use:
     99
     100# Step 2,3,6
     101csh> make all
     102# Step 4,5,7
     103csh> make slball
     104
     105The building of shared libraries on SGI can be also done using the script
     106mkslbsgi.csh in Mgr/
     107
     108csh> cp Mgr/mkslbsgi.csh .
     109csh> mkslbsgi.csh slball
     110
     111# To compile test programs
     112csh> cd Tests
     113csh> make arrt ...
     114csh> cd ..
     115# To compile other programs, for example from the PMixer module
     116csh> cd PMixer
     117csh> make
     118csh> cd ..
     119# To build (s)piapp (libPI.so is needed)
     120csh> cd ProgPI
     121csh> make
     122csh> cd ..
     123
     124Notes:
     125======
     1261) We had to build the shared libraries on our SGI system using the
     127script (mkslbsgi.csh). The corresponding CC command was not performing
     128correctly when issued by the GNU make program
     1292) The top level Makefile should be modified if one wishes to use
     130static libraries, except for g++. The compiler driver has to be
     131invoked for building archive libraries, in order to include
     132template instanciation into the archive.
     133
     134
     135
     136Scripts in Mgr/ module :
     137========================
     138
     139* chk_cvs.csh : Compares/updates modules using CVS
     140  Usage: chk_cvs.csh [-a] [-all] [-nos] [-u] [r]
     141         chk_cvs.csh  -h  for help
     142  Example :
     143  Cmd> Mgr/chk_cvs.csh -u 
     144  Updates all modules
     145
     146* crerep_sophya
     147  Creates the directory tree structure :
     148                             $DEV/BASEREP/Include
    20149                                         /OSF1-cxx/
    21150                                         /OSF1-cxx/Objs
     
    24153                                         /OSF1-cxx/Exec/
    25154                                         ....
    26   Usage crerep_peida <nom des repertoires> [nom_machine-compilateur]
    27   Exemple crerep_peida $DPCDEVREP OSF1-cxx
    28           crerep_peida ~/Work/ Linux-g++
     155  Usage: crerep_sophya <nom des repertoires> [nom_machine-compilateur]
     156  Example :
     157  Cmd> crerep_sophya $DPCDEVREP OSF1-cxx
     158  Cmd> crerep_sophya ~/Work/ Linux-g++
    29159
    30 * install_peida
    31 ----------------
    32   Script d'installation PEIDA (du soft)
    33   depuis le repertoire de developpement vers le repertoire d'install
    34   Copie des Include/*.h Libs/*.a ShLibs/*.so Exec/*
     160* install_sophya
     161  Install SOPHYA libraries/include files from dev directory ($DPCDEVREP)
     162  to the install ($DPCBASEREP) directory
     163  Copy files Include/*.h Libs/*.a ShLibs/*.so Exec/*
    35164
    36   Usage install_peida <-s repertoire source> <-d repertoire destination>
     165  Usage: install_sophya <-s repertoire source> <-d repertoire destination>
    37166                      [-m nom_machine-compilateur]
    38   Exemple install_peida -s  ~/Work  /exp/Planck/DPC
     167  Example
     168  Cmd> install_peida -s  ~/Work  /exp/Planck/DPC
    39169
    40170* mkmf
    41 -------
    42   Script de creation des GNUmakefile des differents modules,
    43   et le GNUmakefile global, mis au niveau au dessus
    44   Pour le makefile global, Makefile.slb est utilise
     171  Creates a GNUmakefile in each library module and the global
     172  GNUmakefile at top level
    45173
    46   Les etapes :
    47   - mkmflien : Cree des liens symboliques pour tous les .h des modules
    48                ds $DEVREP/Include
    49   - Creation du GNUmakefile global (pour appeler le make de chaque module)
    50   - mkmflib
    51     Creation des GNUmakefile pour chaque module librairie
    52     Note : Dans chaque module, un fichier exclude peut contenir
    53     la liste des fichiers (.cc, .c) qui ne doivent pas etre compile,
    54     faire partie de la librairie
     174  Steps :
     175  - mkmflien : Creates symbolic links for all header files in $DPCDEVREP/Include
    55176
    56   - mkmfPI
    57     Creation des GNUmakefile pour les modules PI
    58     note idem a mkmflib
     177  - mkmflib : Creation of a GNUmakefile in each library module
    59178
    60   - mkmfprog
    61     Creation de GNUmakefile pour les modules ne contenant que des
    62     executables
     179  - mkmfPI : Creation of a GNUmakefile for PI and PIext module
     180
     181  - Top level makefile creation
    63182
    64183
    65 En pratique, il suffit de se mettre ds Mgr/, avec la variable DPCDEVREP
    66 definie, et taper :
    67 mkmf, qui fait les etapes ci-dessus
    68 (a faire a chaque fois que l'on rajoute des fichiers),
    69 cree un GNUmakefile ds chaque module (SysTools/GNUmakefile, ...
    70  et ../GNUmakefile )
     184* mkmflib
     185  Creation of the GNUmakefile for a library module
     186  The file exclude in the module directory may contain the
     187  list of source files (.cc .c) not to be compiled.
     188  Usage: mkmflib ModuleName
     189 
     190* mkmfprog
     191  Creation of the GNUmakefile for a module containing
     192  the main programs
     193  Usage: mkmfprog ProgModuleName
    71194
    72195
    73 Pour construire le soft, se mettre au niveau de dessus
    74 tapez :
    75 make libs  # Pour construire les librairies .a
    76            # Equivalent de faire make ds chaque module
    77196
    78 make slb   # Construit la(les) librairie(s) partagee(s)
    79 
    80 make PI    # Construit les modules PI (actuellement PI, PIext)
    81 
    82 make slbpi # construit la shared-lib libPI.so
    83 
Note: See TracChangeset for help on using the changeset viewer.