include $(SOPHYABASE)/include/sophyamake.inc defaut: libs all: libs extlibs PI libs: cxxlibs extlibs : cxxextlibs cxxlibs:: if [ -f $(SOPHYAINCP)/SophyaConfInfo/BaseTools.conf ] ; then cd ../BaseTools ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/SysTools.conf ] ; then cd ../SysTools ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/SUtils.conf ] ; then cd ../SUtils ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/TArray.conf ] ; then cd ../TArray ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/NTools.conf ] ; then cd ../NTools ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/HiStats.conf ] ; then cd ../HiStats ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/SkyMap.conf ] ; then cd ../SkyMap ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/Samba.conf ] ; then cd ../Samba ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/SkyT.conf ] ; then cd ../SkyT ; $(MAKE) -f smakefile ; fi cxxextlibs:: if [ -f $(SOPHYAINCP)/SophyaConfInfo/FitsIOServer.conf ] ; then cd ../FitsIOServer ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/IFFTW.conf ] ; then cd ../IFFTW ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/LinAlg.conf ] ; then cd ../LinAlg ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/XAstroPack.conf ] ; then cd ../XAstroPack ; $(MAKE) -f smakefile ; fi PI:: if [ -f $(SOPHYAINCP)/SophyaConfInfo/PI.conf ] ; then cd ../PI ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/PIGcont.conf ] ; then cd ../PIGcont ; $(MAKE) -f smakefile ; fi if [ -f $(SOPHYAINCP)/SophyaConfInfo/PIext.conf ] ; then cd ../PIext ; $(MAKE) -f smakefile ; fi # Shared library creation part of the Makefile # main dependence list slball : slb slbext slbpi slb : $(SOPHYASLBP)libsophya.$(SLEXT) slbext : $(SOPHYASLBP)libextsophya.$(SLEXT) slbpi : $(SOPHYASLBP)libPI.$(SLEXT) # All object modules in a single shared library slballinone : $(SOPHYASLBP)libAsophyaextPI.$(SLEXT) # List of .o files for SOPHYA module ALLOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libsophya.objlist # List of .o files modules with reference to external libraries ALLEXTOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libextsophya.objlist # List of .o files for PI modules ALLPIOBJSF = $(SOPHYAINCP)/SophyaConfInfo/libPI.objlist # Building Sophya shared library $(SOPHYASLBP)libsophya.$(SLEXT) : $(ALLOBJSF) echo `cat $(ALLOBJSF)` ; \ cd $(SOPHYAOBJP); \ $(CMDSHLCXX) -o $@ `cat $(ALLOBJSF) ` $(SOPBASELIBS) # Building ExtSophya shared library $(SOPHYASLBP)libextsophya.$(SLEXT) : $(ALLEXTOBJSF) echo `cat $(ALLEXTOBJSF)` ; \ cd $(SOPHYAOBJP); \ $(CMDSHLCXX) -o $@ `cat $(ALLEXTOBJSF) ` \ $(SOPHYASLBLIST) $(SOPEXTLIBS) # Building PI shared library $(SOPHYASLBP)libPI.$(SLEXT) : $(ALLPIOBJSF) echo `cat $(ALLPIOBJSF)` ; \ cd $(SOPHYAOBJP); \ $(CMDSHLCXX) -o $@ `cat $(ALLPIOBJSF) ` \ $(SOPHYAEXTSLBLIST) $(PILIBS) # Building a single shared library with all modules Sophya+ExtSophya+PI $(SOPHYASLBP)libAsophyaextPI.$(SLEXT) : $(ALLOBJSF) $(ALLEXTOBJSF) $(ALLPIOBJSF) echo `cat $(ALLOBJSF)` ; \ echo `cat $(ALLEXTOBJSF)` ; \ echo `cat $(ALLPIOBJSF)` ; \ cd $(SOPHYAOBJP); \ $(CMDSHLCXX) -o $@ \ `cat $(ALLOBJSF) ` \ `cat $(ALLEXTOBJSF) ` \ `cat $(ALLPIOBJSF) ` \ $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS) # Cleaning targets clean: if [ -d $(SOPHYALIBP) ] ; then cd $(SOPHYALIBP)/. ; rm -f *.a ; fi if [ -d $(SOPHYASLBP) ] ; then cd $(SOPHYASLBP)/. ; rm -f *.so ; fi if [ -d $(SOPHYAEXEP) ] ; then cd $(SOPHYAEXEP)/. ; rm -f * ; fi if [ -d $(SOPHYAOBJP) ] ; then cd $(SOPHYAOBJP)/. ; rm -rf *.o cxxrep templateregistry ; fi cleanobj: if [ -d $(SOPHYAOBJP) ] ; then rm -rf $(SOPHYAOBJP) ; fi # Various main program builds prgall : tests prgutil prgmap progpi piapp : progpi spiapp : progpi basetests: cd ../Tests/ ; make -f smakefile arrt carrt tnt tobjio spar tparlex tests: cd ../Tests/ ; make -f smakefile prgutil: cd ../PrgUtil/ ; make -f smakefile progpi: cd ../ProgPI/ ; make -f smakefile prgmap: cd ../PrgMap/ ; make -f smakefile pmixer: cd ../PMixer/ ; make -f smakefile