| 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 spar tparlex
 | 
|---|
| 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 | 
 | 
|---|