1 | include $(SOPHYABASE)/include/sophyamake.inc
|
---|
2 |
|
---|
3 | defaut: libs
|
---|
4 |
|
---|
5 | all: libs extlibs PI
|
---|
6 | libs: cxxlibs
|
---|
7 | extlibs : cxxextlibs
|
---|
8 |
|
---|
9 | cxxlibs::
|
---|
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 |
|
---|
20 | cxxextlibs::
|
---|
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 |
|
---|
26 | PI::
|
---|
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
|
---|
30 |
|
---|
31 | # Shared library creation part of the Makefile
|
---|
32 |
|
---|
33 | # main dependence list
|
---|
34 | slball : slb slbext slbpi
|
---|
35 | slb : $(SOPHYASLBP)libsophya.$(SLEXT)
|
---|
36 | slbext : $(SOPHYASLBP)libextsophya.$(SLEXT)
|
---|
37 | slbpi : $(SOPHYASLBP)libPI.$(SLEXT)
|
---|
38 | # All object modules in a single shared library
|
---|
39 | slballinone : $(SOPHYASLBP)libAsophyaextPI.$(SLEXT)
|
---|
40 |
|
---|
41 | # List of .o files for SOPHYA module
|
---|
42 | ALLOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libsophya.objlist
|
---|
43 |
|
---|
44 | # List of .o files modules with reference to external libraries
|
---|
45 | ALLEXTOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libextsophya.objlist
|
---|
46 |
|
---|
47 | # List of .o files for PI modules
|
---|
48 | ALLPIOBJSF = $(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 |
|
---|
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 |
|
---|
83 | # Cleaning targets
|
---|
84 | clean:
|
---|
85 | if [ -d $(SOPHYALIBP) ] ; then cd $(SOPHYALIBP)/. ; rm -f *.a ; fi
|
---|
86 | if [ -d $(SOPHYASLBP) ] ; then cd $(SOPHYASLBP)/. ; rm -f *.so ; fi
|
---|
87 | if [ -d $(SOPHYAEXEP) ] ; then cd $(SOPHYAEXEP)/. ; rm -f * ; fi
|
---|
88 | if [ -d $(SOPHYAOBJP) ] ; then cd $(SOPHYAOBJP)/. ; rm -rf *.o cxxrep templateregistry ; fi
|
---|
89 |
|
---|
90 | cleanobj:
|
---|
91 | if [ -d $(SOPHYAOBJP) ] ; then rm -rf $(SOPHYAOBJP) ; fi
|
---|
92 |
|
---|
93 | # Various main program builds
|
---|
94 | prgall : tests prgutil prgmap progpi
|
---|
95 | piapp : progpi
|
---|
96 | spiapp : progpi
|
---|
97 |
|
---|
98 | basetests:
|
---|
99 | cd ../Tests/ ; make -f smakefile arrt carrt tnt tobjio
|
---|
100 |
|
---|
101 | tests:
|
---|
102 | cd ../Tests/ ; make -f smakefile
|
---|
103 |
|
---|
104 | prgutil:
|
---|
105 | cd ../PrgUtil/ ; make -f smakefile
|
---|
106 |
|
---|
107 | progpi:
|
---|
108 | cd ../ProgPI/ ; make -f smakefile
|
---|
109 |
|
---|
110 | prgmap:
|
---|
111 | cd ../PrgMap/ ; make -f smakefile
|
---|
112 |
|
---|
113 | pmixer:
|
---|
114 | cd ../PMixer/ ; make -f smakefile
|
---|
115 |
|
---|