source: Sophya/trunk/SophyaLib/BuildMgr/smakefile

Last change on this file was 3722, checked in by ansari, 16 years ago

Modif mineure target basetests ds Makefile/smakefile, Reza 28/12/2009

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