| [1987] | 1 | # ####################### ArchTOIPipe ###########################
 | 
|---|
 | 2 | # ##### LAL (Orsay) / IN2P3-CNRS  DAPNIA/SPP (Saclay) / CEA #####
 | 
|---|
 | 3 | # ###############################################################
 | 
|---|
 | 4 | #   Top level makefile to build ArchTOIPipe library with SOPHYA
 | 
|---|
 | 5 | # Usage : make -f SMakefile mkmf
 | 
|---|
 | 6 | #         make -f SMakefile libs
 | 
|---|
 | 7 | #         make -f SMakefile slb 
 | 
|---|
 | 8 | # ###############################################################
 | 
|---|
| [1437] | 9 | 
 | 
|---|
| [1987] | 10 | # include files defining compiler/linker options 
 | 
|---|
 | 11 | include SMakefile.h
 | 
|---|
 | 12 | include ${DPCBASEREP}/Include/Makefile.slb
 | 
|---|
| [1462] | 13 | 
 | 
|---|
| [1987] | 14 | LIBF =  $(MYLIB)libKernel.a $(MYLIB)libProcessors.a $(MYLIB)libProcWSophya.a
 | 
|---|
| [1437] | 15 | 
 | 
|---|
| [1987] | 16 | defaut: libs
 | 
|---|
| [1437] | 17 | 
 | 
|---|
| [1987] | 18 | all: libs slb
 | 
|---|
| [1437] | 19 | 
 | 
|---|
 | 20 | 
 | 
|---|
| [1987] | 21 | libs: archlibs
 | 
|---|
 | 22 | slb: archslb
 | 
|---|
| [1437] | 23 | 
 | 
|---|
| [1987] | 24 | archlibs: Kernel Processors ProcWSophya
 | 
|---|
| [1437] | 25 | 
 | 
|---|
| [1987] | 26 | #--- Create directory and copy includes for install
 | 
|---|
 | 27 | depend:
 | 
|---|
 | 28 | ifdef ARCHPDEVREP
 | 
|---|
 | 29 | ifdef EROSCXX
 | 
|---|
 | 30 |         @echo "ArchTOIPipe will be installed under:"
 | 
|---|
 | 31 |         @echo "  $(ARCHPDEVREP)/Include" 
 | 
|---|
 | 32 |         @echo "  $(ARCHPDEVREP)/`uname`-$(EROSCXX)" 
 | 
|---|
 | 33 |         ./crerep_pipe $(ARCHPDEVREP) `uname`-$(EROSCXX); \
 | 
|---|
 | 34 | #       ./makefileuser.csh; \
 | 
|---|
 | 35 |         ./mkmflien -copy ; \
 | 
|---|
 | 36 | else
 | 
|---|
 | 37 |         @echo "Variable EROSCXX must be define with setenv"
 | 
|---|
 | 38 | endif
 | 
|---|
 | 39 | else
 | 
|---|
 | 40 |         @echo "Variable ARCHPDEVREP must be define with setenv"
 | 
|---|
 | 41 | endif
 | 
|---|
 | 42 | #--------------------------------------------------------------------
 | 
|---|
| [1529] | 43 | 
 | 
|---|
| [1987] | 44 | #--- Create library module Makefiles
 | 
|---|
 | 45 | mkmf:
 | 
|---|
 | 46 |         @echo 'Running ./smkmf'
 | 
|---|
 | 47 |         ./smkmf
 | 
|---|
 | 48 | #--------------------------------------------------------------------
 | 
|---|
| [1529] | 49 | 
 | 
|---|
| [1987] | 50 | .PHONY:  Kernel
 | 
|---|
 | 51 | Kernel:
 | 
|---|
 | 52 |         if [ -d Kernel ] ; then cd  Kernel ; $(MAKE) ; fi
 | 
|---|
| [1529] | 53 | 
 | 
|---|
| [1987] | 54 | .PHONY:  Processors
 | 
|---|
 | 55 | Processors:
 | 
|---|
 | 56 |         if [ -d Processors ] ; then cd  Processors ; $(MAKE) ; fi
 | 
|---|
| [1529] | 57 | 
 | 
|---|
| [1987] | 58 | .PHONY:  ProcWSophya
 | 
|---|
 | 59 | ProcWSophya:
 | 
|---|
 | 60 |         if [ -d ProcWSophya ] ; then cd  ProcWSophya ; $(MAKE) ; fi
 | 
|---|
| [1529] | 61 | 
 | 
|---|
| [1987] | 62 | #  Shared library creation part of the Makefile
 | 
|---|
 | 63 |  
 | 
|---|
 | 64 | #  List of libraries (.a)
 | 
|---|
 | 65 | PSLB =  $(MYLIB)libKernel.a $(MYLIB)libProcessors.a $(MYLIB)libProcWSophya.a
 | 
|---|
| [1529] | 66 | 
 | 
|---|
| [1987] | 67 | #  List of external library references
 | 
|---|
 | 68 | EXTLIBL  = -L$(EXTLIBPATH) -lcfitsio -lfftw -lrfftw -lxastro
 | 
|---|
 | 69 | EXTSLBL  = -L$(EXTSLBPATH) -lcfitsio -lfftw -lrfftw -lxastro
 | 
|---|
| [1529] | 70 | 
 | 
|---|
| [1987] | 71 | # defining the other external libraries needed on different systems
 | 
|---|
| [1529] | 72 | 
 | 
|---|
| [1987] | 73 | # On Linux   lapack and blas and f2c/g2c ere needed
 | 
|---|
 | 74 | ifeq ($(MACHEROS),Linux)
 | 
|---|
 | 75 | #EXTLIB = $(EXTLIBL) -llapack -lblas -lf2c
 | 
|---|
 | 76 | #EXTSLB = $(EXTSLBL) -llapack -lblas -lf2c
 | 
|---|
 | 77 | EXTLIB = $(EXTLIBL) -llapack -lblas -lg2c
 | 
|---|
 | 78 | EXTSLB = $(EXTSLBL) -llapack -lblas -lg2c
 | 
|---|
 | 79 | endif
 | 
|---|
| [1529] | 80 | 
 | 
|---|
| [1987] | 81 | # On OSF1 libdxml contains Lapack, but the fortran support library is needed
 | 
|---|
 | 82 | ifeq ($(MACHEROS),OSF1)
 | 
|---|
 | 83 | EXTLIB = $(EXTLIBL) -ldxml -lfor
 | 
|---|
 | 84 | EXTSLB = $(EXTSLBL) -ldxml -lfor
 | 
|---|
 | 85 | endif
 | 
|---|
| [1529] | 86 | 
 | 
|---|
| [1987] | 87 | # On IRIX , complib.sgimath contains Lapack
 | 
|---|
 | 88 | ifeq ($(MACHEROS),IRIX64)
 | 
|---|
 | 89 | EXTLIB = $(EXTLIBL) -lcomplib.sgimath 
 | 
|---|
 | 90 | EXTSLB = $(EXTSLBL) -lcomplib.sgimath 
 | 
|---|
 | 91 | endif
 | 
|---|
| [1437] | 92 | 
 | 
|---|
| [1529] | 93 | 
 | 
|---|
| [1668] | 94 | 
 | 
|---|
| [1987] | 95 | # XPILIBS = $(LIBXPIPATH) $(LIBXPILIST)
 | 
|---|
| [1437] | 96 | 
 | 
|---|
| [1989] | 97 | # --- Shared lib name (extension) depending on OS 
 | 
|---|
 | 98 | SLBNAME = $(MYSLB)libpipe.so
 | 
|---|
 | 99 | ifeq ($(MACHEROS),Darwin)
 | 
|---|
 | 100 | SLBNAME = $(MYSLB)libpipe.dylib
 | 
|---|
 | 101 | endif
 | 
|---|
 | 102 |  
 | 
|---|
| [1987] | 103 | #  main dependence list
 | 
|---|
| [1989] | 104 | archslb : $(SLBNAME) 
 | 
|---|
 | 105 | 
 | 
|---|
| [1987] | 106 | # List of .o files for each module
 | 
|---|
 | 107 | # OBJKernel = $(shell echo `cat ./Kernel/objlist.list `)
 | 
|---|
 | 108 | # OBJProcessors = $(shell echo `cat ./Processors/objlist.list `)
 | 
|---|
 | 109 | # OBJProcWSophya = $(shell echo `cat ./ProcWSophya/objlist.list `)
 | 
|---|
 | 110 | OBJKernel = $(shell echo `cat ./Kernel/Kernel.o.list `)
 | 
|---|
 | 111 | OBJProcessors = $(shell echo `cat ./Processors/Processors.o.list `)
 | 
|---|
 | 112 | OBJProcWSophya = $(shell echo `cat ./ProcWSophya/ProcWSophya.o.list `)
 | 
|---|
| [1983] | 113 | 
 | 
|---|
| [1987] | 114 | ALLOBJS = $(OBJKernel) $(OBJProcessors) $(OBJProcWSophya) 
 | 
|---|
 | 115 |  
 | 
|---|
 | 116 | # Building ArchTOIPipe shared library
 | 
|---|
| [1989] | 117 | $(SLBNAME) : $(PSLB)
 | 
|---|
| [1987] | 118 |         cd  $(OBJ); \
 | 
|---|
| [1989] | 119 |         $(CMDSHLCXX) -o $(SLBNAME)  \
 | 
|---|
| [1987] | 120 |         $(FGSHLACXX) $(ALLOBJS)  $(FGSHLNCXX)\
 | 
|---|
 | 121 |         -L$(SLB) -lsophya -lextsophya $(EXTLIB) $(LIBLSHL)
 | 
|---|
 | 122 |  
 | 
|---|
 | 123 |  
 | 
|---|
| [1529] | 124 | 
 | 
|---|
| [1987] | 125 | clean:
 | 
|---|
 | 126 |         if [ -d $(MYLIB) ] ; then cd $(MYLIB)/. ; rm -f *.a  ; fi
 | 
|---|
 | 127 |         if [ -d $(MYSLB) ] ; then cd $(MYSLB)/. ; rm -f *.so ; fi
 | 
|---|
 | 128 |         if [ -d $(OBJ) ] ; then cd $(OBJ)/. ; rm -f *.o  rm -rf cxxrep* ; fi
 | 
|---|
 | 129 | 
 | 
|---|