| 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 |         if [ -f $(SOPHYAINCP)/SophyaConfInfo/MinuitAdapt.conf ] ; then cd  ../MinuitAdapt ; $(MAKE) -f smakefile ; fi
 | 
|---|
| 26 |  
 | 
|---|
| 27 | PI::
 | 
|---|
| 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
 | 
|---|
| 35 | slball : slb slbext slbpi 
 | 
|---|
| 36 | slb : $(SOPHYASLBP)libsophya.$(SLEXT)
 | 
|---|
| 37 | slbext : $(SOPHYASLBP)libextsophya.$(SLEXT)    
 | 
|---|
| 38 | slbpi : $(SOPHYASLBP)libPI.$(SLEXT)
 | 
|---|
| 39 | #  All object modules in a single shared library
 | 
|---|
| 40 | slballinone : $(SOPHYASLBP)libAsophyaextPI.$(SLEXT) 
 | 
|---|
| 41 | 
 | 
|---|
| 42 | # List of .o files for SOPHYA  module
 | 
|---|
| 43 | ALLOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libsophya.objlist
 | 
|---|
| 44 |  
 | 
|---|
| 45 | # List of .o files modules with reference to external libraries
 | 
|---|
| 46 | ALLEXTOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libextsophya.objlist
 | 
|---|
| 47 | 
 | 
|---|
| 48 | # List of .o files for PI modules 
 | 
|---|
| 49 | ALLPIOBJSF = $(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
 | 
|---|
| 85 | clean:
 | 
|---|
| 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 | 
 | 
|---|
| 91 | cleanobj:
 | 
|---|
| 92 |         if [ -d $(SOPHYAOBJP) ] ; then rm -rf $(SOPHYAOBJP) ; fi
 | 
|---|
| 93 | 
 | 
|---|
| 94 | #  Various main program builds
 | 
|---|
| 95 | prgall : tests prgutil prgmap progpi
 | 
|---|
| 96 | piapp : progpi
 | 
|---|
| 97 | spiapp : progpi
 | 
|---|
| 98 | 
 | 
|---|
| 99 | basetests:
 | 
|---|
| 100 |         cd ../Tests/ ; make -f smakefile arrt carrt tnt tobjio
 | 
|---|
| 101 | 
 | 
|---|
| 102 | tests:
 | 
|---|
| 103 |         cd ../Tests/ ; make -f smakefile 
 | 
|---|
| 104 | 
 | 
|---|
| 105 | prgutil:
 | 
|---|
| 106 |         cd ../PrgUtil/ ; make -f smakefile 
 | 
|---|
| 107 | 
 | 
|---|
| 108 | progpi:
 | 
|---|
| 109 |         cd ../ProgPI/ ; make -f smakefile 
 | 
|---|
| 110 | 
 | 
|---|
| 111 | prgmap:
 | 
|---|
| 112 |         cd ../PrgMap/ ; make -f smakefile 
 | 
|---|
| 113 | 
 | 
|---|
| 114 | pmixer:
 | 
|---|
| 115 |         cd ../PMixer/ ; make -f smakefile 
 | 
|---|
| 116 | 
 | 
|---|