source: Sophya/trunk/SophyaLib/BuildMgr/smakefile@ 3136

Last change on this file since 3136 was 3013, checked in by ansari, 19 years ago

Mise en place du target slballinone (pour AIX en particulier) , Reza 11/7/2006

File size: 4.2 KB
Line 
1include $(SOPHYABASE)/include/sophyamake.inc
2
3defaut: libs
4
5all: libs extlibs PI
6libs: cxxlibs
7extlibs : cxxextlibs
8
9cxxlibs::
10 if [ -f $(SOPHYAINCP)/SophyaConfInfo/BaseTools.conf ] ; then cd ../BaseTools ; $(MAKE) -f smakefile ; fi
11 if [ -f $(SOPHYAINCP)/SophyaConfInfo/SysTools.conf ] ; then cd ../SysTools ; $(MAKE) -f smakefile ; fi
12 if [ -f $(SOPHYAINCP)/SophyaConfInfo/SUtils.conf ] ; then cd ../SUtils ; $(MAKE) -f smakefile ; fi
13 if [ -f $(SOPHYAINCP)/SophyaConfInfo/TArray.conf ] ; then cd ../TArray ; $(MAKE) -f smakefile ; fi
14 if [ -f $(SOPHYAINCP)/SophyaConfInfo/NTools.conf ] ; then cd ../NTools ; $(MAKE) -f smakefile ; fi
15 if [ -f $(SOPHYAINCP)/SophyaConfInfo/HiStats.conf ] ; then cd ../HiStats ; $(MAKE) -f smakefile ; fi
16 if [ -f $(SOPHYAINCP)/SophyaConfInfo/SkyMap.conf ] ; then cd ../SkyMap ; $(MAKE) -f smakefile ; fi
17 if [ -f $(SOPHYAINCP)/SophyaConfInfo/Samba.conf ] ; then cd ../Samba ; $(MAKE) -f smakefile ; fi
18 if [ -f $(SOPHYAINCP)/SophyaConfInfo/SkyT.conf ] ; then cd ../SkyT ; $(MAKE) -f smakefile ; fi
19
20cxxextlibs::
21 if [ -f $(SOPHYAINCP)/SophyaConfInfo/FitsIOServer.conf ] ; then cd ../FitsIOServer ; $(MAKE) -f smakefile ; fi
22 if [ -f $(SOPHYAINCP)/SophyaConfInfo/IFFTW.conf ] ; then cd ../IFFTW ; $(MAKE) -f smakefile ; fi
23 if [ -f $(SOPHYAINCP)/SophyaConfInfo/LinAlg.conf ] ; then cd ../LinAlg ; $(MAKE) -f smakefile ; fi
24 if [ -f $(SOPHYAINCP)/SophyaConfInfo/XAstroPack.conf ] ; then cd ../XAstroPack ; $(MAKE) -f smakefile ; fi
25 if [ -f $(SOPHYAINCP)/SophyaConfInfo/MinuitAdapt.conf ] ; then cd ../MinuitAdapt ; $(MAKE) -f smakefile ; fi
26
27PI::
28 if [ -f $(SOPHYAINCP)/SophyaConfInfo/PI.conf ] ; then cd ../PI ; $(MAKE) -f smakefile ; fi
29 if [ -f $(SOPHYAINCP)/SophyaConfInfo/PIGcont.conf ] ; then cd ../PIGcont ; $(MAKE) -f smakefile ; fi
30 if [ -f $(SOPHYAINCP)/SophyaConfInfo/PIext.conf ] ; then cd ../PIext ; $(MAKE) -f smakefile ; fi
31
32# Shared library creation part of the Makefile
33
34# main dependence list
35slball : slb slbext slbpi
36slb : $(SOPHYASLBP)libsophya.$(SLEXT)
37slbext : $(SOPHYASLBP)libextsophya.$(SLEXT)
38slbpi : $(SOPHYASLBP)libPI.$(SLEXT)
39# All object modules in a single shared library
40slballinone : $(SOPHYASLBP)libAsophyaextPI.$(SLEXT)
41
42# List of .o files for SOPHYA module
43ALLOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libsophya.objlist
44
45# List of .o files modules with reference to external libraries
46ALLEXTOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libextsophya.objlist
47
48# List of .o files for PI modules
49ALLPIOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libPI.objlist
50
51# Building Sophya shared library
52$(SOPHYASLBP)libsophya.$(SLEXT) : $(ALLOBJSF)
53 echo `cat $(ALLOBJSF)` ; \
54 cd $(SOPHYAOBJP); \
55 $(CMDSHLCXX) -o $@ `cat $(ALLOBJSF) ` $(SOPBASELIBS)
56
57# Building ExtSophya shared library
58$(SOPHYASLBP)libextsophya.$(SLEXT) : $(ALLEXTOBJSF)
59 echo `cat $(ALLEXTOBJSF)` ; \
60 cd $(SOPHYAOBJP); \
61 $(CMDSHLCXX) -o $@ `cat $(ALLEXTOBJSF) ` \
62 $(SOPHYASLBLIST) $(SOPEXTLIBS)
63
64# Building PI shared library
65$(SOPHYASLBP)libPI.$(SLEXT) : $(ALLPIOBJSF)
66 echo `cat $(ALLPIOBJSF)` ; \
67 cd $(SOPHYAOBJP); \
68 $(CMDSHLCXX) -o $@ `cat $(ALLPIOBJSF) ` \
69 $(SOPHYAEXTSLBLIST) $(PILIBS)
70
71# Building a single shared library with all modules Sophya+ExtSophya+PI
72$(SOPHYASLBP)libAsophyaextPI.$(SLEXT) : $(ALLOBJSF) $(ALLEXTOBJSF) $(ALLPIOBJSF)
73 echo `cat $(ALLOBJSF)` ; \
74 echo `cat $(ALLEXTOBJSF)` ; \
75 echo `cat $(ALLPIOBJSF)` ; \
76 cd $(SOPHYAOBJP); \
77 $(CMDSHLCXX) -o $@ \
78 `cat $(ALLOBJSF) ` \
79 `cat $(ALLEXTOBJSF) ` \
80 `cat $(ALLPIOBJSF) ` \
81 $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS)
82
83
84# Cleaning targets
85clean:
86 if [ -d $(SOPHYALIBP) ] ; then cd $(SOPHYALIBP)/. ; rm -f *.a ; fi
87 if [ -d $(SOPHYASLBP) ] ; then cd $(SOPHYASLBP)/. ; rm -f *.so ; fi
88 if [ -d $(SOPHYAEXEP) ] ; then cd $(SOPHYAEXEP)/. ; rm -f * ; fi
89 if [ -d $(SOPHYAOBJP) ] ; then cd $(SOPHYAOBJP)/. ; rm -rf *.o cxxrep templateregistry ; fi
90
91cleanobj:
92 if [ -d $(SOPHYAOBJP) ] ; then rm -rf $(SOPHYAOBJP) ; fi
93
94# Various main program builds
95prgall : tests prgutil prgmap progpi
96piapp : progpi
97spiapp : progpi
98
99basetests:
100 cd ../Tests/ ; make -f smakefile arrt carrt tnt tobjio
101
102tests:
103 cd ../Tests/ ; make -f smakefile
104
105prgutil:
106 cd ../PrgUtil/ ; make -f smakefile
107
108progpi:
109 cd ../ProgPI/ ; make -f smakefile
110
111prgmap:
112 cd ../PrgMap/ ; make -f smakefile
113
114pmixer:
115 cd ../PMixer/ ; make -f smakefile
116
Note: See TracBrowser for help on using the repository browser.