| [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 |  | 
|---|