Changeset 1041 in Sophya
- Timestamp:
- Jun 8, 2000, 4:55:13 PM (25 years ago)
- Location:
- trunk/SophyaLib/Mgr
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/Mgr/Makefile
r997 r1041 27 27 @echo " $(DPCDEVREP)/`uname`-$(EROSCXX)" 28 28 if [ -d Mgr ] ; then cd Mgr; \ 29 ./crerep_sophya $(DPCDEVREP) $(EROSCXX); \29 ./crerep_sophya $(DPCDEVREP) `uname`-$(EROSCXX); \ 30 30 ./makefileuser.csh; \ 31 31 ./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 =============================================================== 4 4 5 Mini guide des scripts de gestion du code 6 Reza 04/99 5 List 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 17 Modules 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 7 21 8 22 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 16 24 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 32 Compilation and software installation: 33 ====================================== 34 35 The build procedure for the present version of SOPHYA has been 36 tested on : 37 38 Operating system Compiler 39 ...................................................................... 40 Compaq/DEC OSF 4.0 cxx 6.1 (shared-library only) 41 Compaq/DEC OSF 4.0 g++ 2.95 (shared-library only) 42 SGI CC 7.30 ( " " " ) 43 Linux KCC 3.4 ( " " " ) 44 Linux g++ 2.91 (static and shared library) 45 Linux g++ 2.95 (static and shared library) 46 47 48 The environment variables DPCDEVREP EXTLIBDIR EROSCXX must be defined 49 for 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 54 The libraries and binaries will be put in subdirectories containing 55 the operating system name and the compiler name: `uname`-$EROSCXX 56 For 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 62 The build procedure expects to find the include files and the libraries 63 for cfitsio in : 64 $EXTLIBDIR/Include/FitsIO 65 $EXTLIBDIR/`uname`-$EROSCXX/Libs 66 This would translate to Linux-g++ on a Linux system, using g++. 67 $EXTLIBDIR/Linux-g++/Libs 68 69 Example of c-shell commands to build the libraries: 70 The use of GNU make program is mandatory 71 72 # We select our C++ compiler 73 csh> setenv EROSCXX g++ 74 # Setup the build directory 75 csh> mkdir /usr/local/Sophya/ 76 csh> setenv DPCDEVREP /usr/local/Sophya/ 77 csh> setenv EXTLIBDIR /usr/local/ExtLibs/ 78 79 # Use the top level makefile in Mgr/ 80 csh> cd $SRC 81 csh> cp Mgr/Makefile Makefile 82 # Step 1: Create the directory tree and copy the include files (.h) 83 csh> make depend 84 # Step 2: Compile the modules without external library reference 85 csh> make libs 86 # Step 3: Compile the modules WITH external library reference (optional) 87 csh> make extlibs 88 # Step 4: Build libsophya.so 89 csh> make slb 90 # Step 5: Build libextsophya.so 91 csh> make slbext 92 # Step 6: Compile the PI and PIext modules (optional) 93 csh> make PI 94 # Step 7: Build the corresponding shared library libPI.so (optional) 95 csh> make slbpi 96 97 98 To compile all modules and build the shared libraries, it is possible to use: 99 100 # Step 2,3,6 101 csh> make all 102 # Step 4,5,7 103 csh> make slball 104 105 The building of shared libraries on SGI can be also done using the script 106 mkslbsgi.csh in Mgr/ 107 108 csh> cp Mgr/mkslbsgi.csh . 109 csh> mkslbsgi.csh slball 110 111 # To compile test programs 112 csh> cd Tests 113 csh> make arrt ... 114 csh> cd .. 115 # To compile other programs, for example from the PMixer module 116 csh> cd PMixer 117 csh> make 118 csh> cd .. 119 # To build (s)piapp (libPI.so is needed) 120 csh> cd ProgPI 121 csh> make 122 csh> cd .. 123 124 Notes: 125 ====== 126 1) We had to build the shared libraries on our SGI system using the 127 script (mkslbsgi.csh). The corresponding CC command was not performing 128 correctly when issued by the GNU make program 129 2) The top level Makefile should be modified if one wishes to use 130 static libraries, except for g++. The compiler driver has to be 131 invoked for building archive libraries, in order to include 132 template instanciation into the archive. 133 134 135 136 Scripts 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 20 149 /OSF1-cxx/ 21 150 /OSF1-cxx/Objs … … 24 153 /OSF1-cxx/Exec/ 25 154 .... 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++ 29 159 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/* 35 164 36 Usage install_peida <-s repertoire source> <-d repertoire destination>165 Usage: install_sophya <-s repertoire source> <-d repertoire destination> 37 166 [-m nom_machine-compilateur] 38 Exemple install_peida -s ~/Work /exp/Planck/DPC 167 Example 168 Cmd> install_peida -s ~/Work /exp/Planck/DPC 39 169 40 170 * 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 45 173 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 55 176 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 59 178 60 - mkmf prog61 Creation de GNUmakefile pour les modules ne contenant que des 62 executables179 - mkmfPI : Creation of a GNUmakefile for PI and PIext module 180 181 - Top level makefile creation 63 182 64 183 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 71 194 72 195 73 Pour construire le soft, se mettre au niveau de dessus74 tapez :75 make libs # Pour construire les librairies .a76 # Equivalent de faire make ds chaque module77 196 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.so83
Note:
See TracChangeset
for help on using the changeset viewer.