source: Sophya/trunk/SophyaLib/BuildMgr/README@ 3102

Last change on this file since 3102 was 3084, checked in by cmv, 19 years ago

doc pour utilisation de Sophya cmv 21/9/2006

File size: 7.6 KB
RevLine 
[3029]1======================== BuildMgr Module ======================
2== Code Management scripts / top level makefile for SOPHYA ====
3===============================================================
[3036]4 (C) LAL-IN2P3/CNRS 1998-2006
5 (C) DAPNIA/CEA 1998-2006
6===============================================================
[3029]7
8### README file for SOPHYA Build makefiles and scripts (BuildMgr) ####
9See http://www.sophya.org and the SOPHYA overview manual for more information
10
11
[3084]12====================================
[3029]13A/ Software build and installation :
14====================================
15
161/ Configuration:
17csh> cd BuildMgr/
18csh> ./configure -h
19# configure with c-fitsio, installed in /usr/local/include and /usr/local/lib,
20# with g++ as cxx compiler. The target installation directory is $HOME/SObjs/
21# To get c-fitsio : http://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html
22
23
24# Create the target installation directory (if not already existing)
25csh> mkdir ~/SObjs
26# Define the SOPHYABASE environment variable
27csh> setenv $SOPHYABASE ~/SObjs/
28# run the configure script
29csh> ./configure -sbase $SOPHYABASE -scxx g++ -extp /usr/local
30 -noext fftw -noext lapack -noext astro -noext minuit
31
322/ compile and build the libraries
33csh> make libs extlibs slb slbext
34# Or if you want to compile also PI (need Motif or Lesstif)
35csh> make all slball
36
373/ Compile some test and utility programs
38csh> make basetests prgutil
39# To compile piapp
40csh> make piapp
41
[3030]424/ You can clean the .o files, if you are not going to recompile after
43changing or update source files
44csh> make cleanobj
45
465/ List of Makefile targets
47 > libs extlibs PI = all
48 > slb slbext slbpi = slball (OR = slballinone)
49 > clean cleanobj
50 > tests prgutil prgmap progpi = prgall
51 > basetests piapp (ou progpi) pmixer
52
536/ Currently tested on the following platform/compilers
[3029]54-------------------------------------------------------------------------
55Linux 2.4 , 2.6 g++ 3.x 4.0 (GNU g++ compiler)
56MacOSX/Darwin 10.3/104 g++ 3.3,4.0 (Apple/GNU compiler)
57Linux 2.4 icc 9.0 (Intel compiler)
58HP/Compaq/DEC OSF 5.x cxx 6.x (native Tru64/OSF compiler)
59SGI IRIX64 CC 7.30 (IRIX-64 native compiler)
60IBM AIX xlC 7.x (AIX native compiler)
61-------------------------------------------------------------------------
62
[3084]63============================
64B/ Code management scripts :
65============================
[3029]66
[2720]671/ configure : c-shell script configuration
[3084]68 ./configure -sbase /tmp/sbase/ -scxx cxx -extp /usr/local/extlibs
[2720]69
702/ mkmflib : c-shell script for creation of library module Makefile / smakefile
71 ./mkmflib -sbase /tmp/sbase SUtils
72
[2739]733/ mkmfprog : c-shell script for creation of programs module Makefile / smakefile
74 ./mkmfprog -sbase /tmp/sbase SUtils
75
764/ domkmf : c-shell script : calls mkmflib for all modules
[2720]77 ./domkmf -sbase /tmp/sbase
78
[3029]795/ chk_cvs.csh : Compares/updates modules using CVS
80 Usage: chk_cvs.csh [-a] [-all] [-nos] [-u] [r]
81 chk_cvs.csh -h for help
[2720]82
[3029]836/ Makefile/smakefile : Top level makefile for library and program modules
84
857/ Configuration files used to generate sophyamake.inc
86 - Linux_g++_make.inc: Linux with g++ compiler
87 - OSF1_cxx_make.inc: HP/Compaq/Digital Tru64 with native cxx compiler
88 - Darwin_g++_make.inc: Apple/MacOSX with the native GNU compiler
89 - IRIX64_CC_make.inc: SGI IRIX-64 system and native CC compiler
90 - AIX_xlC_make.inc : IBM AIX system and compiler xlC
91 - Linux_icc_make.inc : Linux with Intel compiler
92
93
[3084]94==========================================
95C/ List of modules SOPHYA and PI modules :
96==========================================
[3029]97
98* BuildMgr/ Scripts for code management and makefiles
99* BaseTools/ General architecture support classes
100* TArray/ Template numerical arrays, vectors and matrices
101* HiStats/ Histogram-ming and data set handling classes
102* NTools/ Some standard numerical analysis tools
103* SUtils/ Utility classes and functions
104* SysTools/ Interface to various services provided by the operating system
105* SkyMap/ Local and full sky maps
106* SkyT/ Spectral emission and detector frequency response modelling
107* Samba/ Miscellaneous classes (TOD analysis, Spherical Harmonics, ...)
108
109Modules using external library
110* FitsIOServer/ FITS format file I/O (interface with cfitsio library)
111* LinAlg/ Interface with Lapack linear algebra package
112* IFFTW/ Interface with FFTW package
113* XAstroPack/ Interface with astronomy library (XEphem)
114 The XEphem library code is in the SOPHYA module XephemAstroLib
115* MinuitAdapt/ Inteface with the CERN Minuit minimization routines
116
117* XephemAstroLib/ The code of the external XEphem astronomy library, extracted from XEphem
118
119Modules with main programs
120* Tests/ Simple test programs
121
122* PMixer/ skymixer and utility main programs
123
124* PrgUtil/ Utility main programs
125
126* PrgMap/ Utility main programs for sky map manipulation
127
128PI/piapp GUI and interactive analysis framework
129
130* PI/ GUI class library and application framework
131* PIGcont/ PI contour drawer
132* PIext/ specific GUI objects for SOPHYA classes and piapp framework
133* ProgPI/ interactive analysis tool using SOPHYA, PI PIGCont and PIext
134
[3084]135
136================================================
137D/ How to use Sophya libraries and/or programs :
138================================================
139
1401./ Set the Sophya environment variable :
141 that is the repository where the libraries and the programs stand,
142 for example:
143 > setenv SOPHYABASE /home/.../SophyaWork
144
145 ..Remark:
146 The choice of the name is up to you, but if you want
147 to use versions on different operating systems (or compilators)
148 the "SOPHYABASE" repository must be different, for example:
149 > setenv SOPHYABASE /home/.../SophyaWork_Linux_gcc2.95
150 > setenv SOPHYABASE /home/.../SophyaWork_Linux_gcc4
151 > setenv SOPHYABASE /home/.../SophyaWork_OSF1_cxx
152 > setenv SOPHYABASE /home/.../SophyaWork_OSF1_gcc
153 > ...
154
155 So you will find:
156 ..shared libraries in: $SOPHYABASE/slb
157 ..archived libraries in: $SOPHYABASE/lib
158 (you will probably prefer to use the shared versions of the libraries)
159 ..programs in: $SOPHYABASE/exe
160 ..include files in: $SOPHYABASE/include
161 (you will only need it if you write code using sophya libraries)
162 ..object files in: $SOPHYABASE/obj
163 (you probably should not have to use it)
164
1652./ Using Sophya shared libraries:
166 As you would do for any software,
167 add the repository name of Sophya shared libraries to LD_LIBRARY_PATH
168 > setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${SOPHYABASE}/slb
169
1703./ Using Sophya programs:
171 As you would do for any software,
172 add the repository name of Sophya programs to PATH
173 > setenv PATH ${PATH}:${SOPHYABASE}/exe
174 then recomputed the internal hash table for executables
175 > rehash
176
1774./ Using external libraries which are wrapped in Sophya external modules:
178 Sophya is presently using the archived version of the external libraries
179 so nothing special have to be done.
180
1815./ Making your own programs:
182 If you are writing code using Sophya you may like to
183 "include $(SOPHYABASE)/include/sophyamake.inc"
184 in your own Makefile.
185 That will provide you with default variables for the libraries repositories
186 and names as well as standard compilation and link options for
187 various current OS and compilators.
188 (please see: > more $SOPHYABASE/include/sophyamake.inc )
189 That is JUST AN HELP that Sophya provides, you may prefer
190 to deal YOURSELF with libraires path/names and compiler/linker options.
Note: See TracBrowser for help on using the repository browser.