Changeset 823 in Sophya


Ignore:
Timestamp:
Apr 6, 2000, 11:50:08 AM (25 years ago)
Author:
ansari
Message:

MAJ Makefile mkmf, etc ... Reza 06/04/2000

Location:
trunk/SophyaLib/Mgr
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/Mgr/Makefile

    r663 r823  
     1# include files defining compiler/linker options
     2MODULECXXREPNAME := PI
    13include Mgr/Makefile.h
    2 LIBF =  $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libSamba.a $(LIB)libSkyT.a $(LIB)libFitsIOServer.a
    3 LIBS = -L$(LIB) -lSysTools -lNTools -lSamba -lSkyT -lFitsIOServer -lm
    4 LIBG = -L$(GLB) -lstdc++
    5 ifeq ($(HOSTTYPE), powerpc)
    6   LIBG = -L$(GLB)
    7 endif
     4include Mgr/Makefile.slb
     5
     6LIBF =  $(LIB)libSysTools.a $(LIB)libTArray.a $(LIB)libNTools.a $(LIB)libHiStats.a $(LIB)libSkyMap.a $(LIB)libSamba.a $(LIB)libSkyT.a
     7LIBS = -L$(LIB) -lSysTools -lTArray -lNTools -lHiStats -lSkyMap -lSamba -lSkyT
    88
    99defaut: libs
    1010
    11 all: libs PI
    12 
     11all: libs extlibs PI
    1312
    1413libs: cxxlibs
    15 # Dans cet ordre pour les templates de cxx, a cause des dependances
    16 # pour instantiation automatique/manuels
    1714
    18 cxxlibs: FitsIOServer SkyT Samba NTools SysTools Blitz
     15extlibs: cxxextlibs
    1916
    20 .PHONY:  FitsIOServer
    21 FitsIOServer:
    22         if [ -d FitsIOServer ] ; then cd  FitsIOServer ; $(MAKE) ; fi
     17cxxlibs:  SysTools TArray NTools HiStats SkyMap Samba SkyT
     18 
     19cxxextlibs:  FitsIOServer IFFTW LinAlg
     20.PHONY:  SysTools
     21SysTools:
     22        if [ -d SysTools ] ; then cd  SysTools ; $(MAKE) ; fi
     23 
     24.PHONY:  TArray
     25TArray:
     26        if [ -d TArray ] ; then cd  TArray ; $(MAKE) ; fi
     27 
     28.PHONY:  NTools
     29NTools:
     30        if [ -d NTools ] ; then cd  NTools ; $(MAKE) ; fi
     31 
     32.PHONY:  HiStats
     33HiStats:
     34        if [ -d HiStats ] ; then cd  HiStats ; $(MAKE) ; fi
     35 
     36.PHONY:  SkyMap
     37SkyMap:
     38        if [ -d SkyMap ] ; then cd  SkyMap ; $(MAKE) ; fi
     39 
     40.PHONY:  Samba
     41Samba:
     42        if [ -d Samba ] ; then cd  Samba ; $(MAKE) ; fi
    2343 
    2444.PHONY:  SkyT
     
    2646        if [ -d SkyT ] ; then cd  SkyT ; $(MAKE) ; fi
    2747 
    28 .PHONY:  Samba
    29 Samba:
    30         if [ -d Samba ] ; then cd  Samba ; $(MAKE) ; fi
     48.PHONY:  FitsIOServer
     49FitsIOServer:
     50        if [ -d FitsIOServer ] ; then cd  FitsIOServer ; $(MAKE) ; fi
    3151 
    32 .PHONY:  NTools
    33 NTools:
    34         if [ -d NTools ] ; then cd  NTools ; $(MAKE) ; fi
     52.PHONY:  IFFTW
     53IFFTW:
     54        if [ -d IFFTW ] ; then cd  IFFTW ; $(MAKE) ; fi
    3555 
    36 .PHONY:  SysTools
    37 SysTools:
    38         if [ -d SysTools ] ; then cd  SysTools ; $(MAKE) ; fi
    39  
    40 .PHONY:  Blitz
    41 Blitz:
    42         if [ -d Blitz ] ; then cd  Blitz ; $(MAKE) ; fi
     56.PHONY:  LinAlg
     57LinAlg:
     58        if [ -d LinAlg ] ; then cd  LinAlg ; $(MAKE) ; fi
    4359 
    4460.PHONY: PI
     
    4662        if [ -d PI ] ; then cd PI ; $(MAKE) ; fi
    4763        if [ -d PIext ] ; then cd PIext ; $(MAKE) ; fi
     64#  Shared library creation part of the Makefile
     65 
     66#  List of libraries (.a)
     67PSLB =  $(LIB)libSysTools.a $(LIB)libTArray.a $(LIB)libNTools.a $(LIB)libHiStats.a $(LIB)libSkyMap.a $(LIB)libSamba.a $(LIB)libSkyT.a
     68EXTPSLB =  $(LIB)libFitsIOServer.a $(LIB)libIFFTW.a $(LIB)libLinAlg.a
     69PIPSLB =  $(LIB)libPI.a  $(LIB)libPIext.a
     70#  List of external library references
     71EXTLIB  = -L$(EXTLIBPATH) -lcfitsio -lfftw -lrfftw -llapack -ldxml -lfor
     72EXTSLB  = -L$(EXTSLBPATH) -lcfitsio -lfftw -llapack -ldxml -lfor
     73XPILIBS = $(LIBXPIPATH) $(LIBXPILIST)
    4874
    49 ifndef NOSHLIB
    50 
    51 ifdef CFITSIODIR
    52 PSLB = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libSamba.a $(LIB)libSkyT.a $(LIB)libFitsIOServer.a
    53 else
    54 PSLB = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libSamba.a $(LIB)libSkyT.a
    55 endif
    56 slb : $(SLB)libtools.so
    57 slbpi: slb $(SLB)libPI.so
    58 
    59 #  Chemin des librairies Motifs / X11 (pour chemin non standard)
    60 LIBXPATH :=
    61 #  Commande de construction de shared-lib
    62 CMDSHL := ld -partage
    63 #  Flag d'inclusion/fin d'inclusion de tous les points  d'entree
    64 FGSHLA := -tout
    65 FGSHLN := -rien
    66 #  Librairies specifiques
    67 LIBLSHL :=
    68 #  Librairie d'instanciation des templates
    69 TILSHL :=
    70 TILSHLPI :=
    71 #   Commande de construction de la librairie d'instanciation des templates
    72 CMDTILSHL := echo 'Cas Non Prevu'
    73 CMDTILSHLPI := echo 'Cas Non Prevu'
    74 # Utilisation du compilo C++ comme driver pour fabrication des shared-libs
    75 CMDSHLCXX := $(LINK.cc)
    76 FGSHLACXX := 
    77 FGSHLNCXX :=
    78 #  S'il faut utiliser $(CMDSHLCXX) pour fabrication des shared-libs
    79 USECXX4SO := N
    80 # On utilise le compilo g++ pour la fabrication des shared libs
    81 ifeq ($(EROSCXX), g++)
    82   override USECXX4SO := Y
    83   override CMDSHLCXX := $(LINK.cc) -shared
    84 endif
    85 
    86 # On utilise le compilo KCC pour la fabrication des shared libs
    87 ifeq ($(EROSCXX), KCC)
    88   override USECXX4SO := Y
    89   override CMDSHLCXX := $(LINK.cc)
    90 endif
    91 
    92 # On utilise le compilo aCC (HP) pour la fabrication des shared libs
    93 ifeq ($(EROSCXX), aCC)
    94   override USECXX4SO := Y
    95   override CMDSHLCXX := $(LINK.cc) -b
    96 endif
    97 
    98 # Construction de shared-libs sous OSF1
    99 ifeq ($(MACHEROS),OSF1)
    100   override CMDSHL := ld -shared -update_registry $(SLB)so_locations
    101   override FGSHLA := -all
    102   override FGSHLN := -none
    103   override LIBLSHL := -lcxxstd -lcxx -lexc -lm -lc -lrt
    104   override TILSHL := $(LIB)libertcxx.a
    105   override CMDTILSHL := rm -f $(LIB)libertcxx.a ; cd $(REP); $(AR) $(ARFLAGS) $(LIB)libertcxx.a *.o
    106   override TILSHLPI := $(LIB)libertcxxpi.a
    107   override CMDTILSHLPI := rm -f $(LIB)libertcxxpi.a ; cd $(REPPI); $(AR) $(ARFLAGS) $(LIB)libertcxxpi.a *.o
    108   ifeq ($(CXX),g++)
    109     override LIBLSHL := $(LIBG) -lm -lc
    110     override TILSHL :=
    111     override CMDTILSHL := echo 'No Template instanciation library'
    112     override TILSHLPI :=
    113     override CMDTILSHLPI := echo 'No Template instanciation library'
    114     override USECXX4SO := N
    115   endif
    116 #  Attention - Dangereux de mettre -expect_unresolved , enleve  Reza 17/11/99
    117   override CMDSHLCXX := $(LINK.cc) -shared 
    118   override FGSHLACXX :=
    119   override FGSHLNCXX :=
    120 endif
    121 
    122 # Construction de shared-libs sous Linux
    123 ifeq ($(MACHEROS),Linux)
    124   override CMDSHL := ld -shared
    125   override FGSHLA := --whole-archive
    126   override FGSHLN := --no-whole-archiv
    127   override CMDSHLCXX := $(LINK.cc) -shared
    128   ifeq ($(EROSCXX), KCC)
    129     override CMDSHLCXX := $(LINK.cc)
    130   endif
    131   override FGSHLACXX :=
    132   override FGSHLNCXX :=
    133   override LIBLSHL := $(LIBG) -lm -ldl
    134   override TILSHL :=
    135   override CMDTILSHL := echo 'No Template instanciation library'
    136   override LIBXPATH := -L/usr/X11/lib -L/usr/X11R6/lib
    137 endif
    138 
    139 # Construction de shared-libs sous Sun-OS
    140 ifeq ($(MACHEROS),SunOS)
    141   override CMDSHL := ld -G
    142   override FGSHLA := -z allextract
    143   override FGSHLN := -z weakextract
    144   override LIBLSHL := $(LIBG) -lm -lc
    145   override TILSHL :=
    146   override CMDTILSHL := echo 'No Template instanciation library'
    147   override LIBXPATH := -L/usr/X11/lib
    148   override USECXX4SO := Y
    149 endif
    150 
    151 # Construction de shared-libs sous SGI
    152 ifeq ($(MACHEROS), IRIX64)
    153   override CMDSHL := ld -shared
    154   override FGSHLA := -all
    155   override FGSHLN := -notall
    156   override LIBLSHL := $(LIBG) -lm -lc
    157   override TILSHL :=
    158   override CMDTILSHL := echo 'No Template instanciation library'
    159   ifeq ($(EROSCXX), CC)
    160     override CMDSHLCXX := CC -shared
    161     override LIBLSHL := -lm -lc
    162   endif
    163   override LIBXPATH := -L/usr/X11/lib
    164   override USECXX4SO := Y
    165 endif
    166 
    167 # Liste des .o associes a une librairie
    168 OBJSysTools = $(shell echo `cat ./SysTools/objlist.list`)
    169 OBJNTools = $(shell echo `cat ./NTools/objlist.list`)
    170 # OBJBlitz = $(shell echo `cat ./Blitz/objlist.list`)
    171 OBJSamba = $(shell echo `cat ./Samba/objlist.list`)
    172 OBJSkyT = $(shell echo `cat ./SkyT/objlist.list`)
    173 OBJFitsIOServer = $(shell echo `cat ./FitsIOServer/objlist.list`)
    174 OBJPI         = $(shell echo `cat ./PI/objlist.list`)
    175 OBJPIext      = $(shell echo `cat ./PIext/objlist.list`)
    176 
    177 ifdef CFITSIODIR
    178 AllObjs := $(OBJSysTools) $(OBJNTools) $(OBJSamba) $(OBJSkyT) $(OBJFitsIOServer)
    179 else
    180 AllObjs := $(OBJSysTools) $(OBJNTools) $(OBJSamba) $(OBJSkyT)
    181 endif
    182 
    183 # Creation des librairies partagees
    184 
    185 
    186 #------------------------------------------------------------
    187 $(SLB)libtools.so : $(PSLB)
    188         $(CMDTILSHL)
    189         cd $(OBJ); \
    190         $(CMDSHLCXX) -o $(SLB)libtools.so \
    191         $(FGSHLACXX) $(AllObjs)  $(TILSHL) \
    192         $(FGSHLNCXX) -L$(SLB) $(LIBLSHL)  $(FITSIOLIB)
    193 
    194 
    195 $(SLB)libPI.so : $(LIB)libPI.a $(LIB)libPIext.a
    196         $(CMDTILSHLPI)
    197         cd $(OBJ); \
    198         $(CMDSHLCXX) -o $(SLB)libPI.so \
    199         $(FGSHLACXX) $(OBJPI) $(OBJPIext) $(TILSHLPI) \
    200         $(FGSHLN) -L$(SLB) -ltools \
    201         $(LIBXPATH) -lXm -lXt -lX11 $(LIBLSHL)
    202 
    203 else
    204 slb :
    205 endif
    206 
     75#  main dependence list
     76slball : slb slbext slbpi
     77slb : $(SLB)libsophya.so
     78slbext : $(SLB)libextsophya.so   
     79slbpi : $(SLB)libPI.so
     80 
     81# List of .o files for each module
     82OBJSysTools = $(shell echo `cat ./SysTools/objlist.list `)
     83OBJTArray = $(shell echo `cat ./TArray/objlist.list `)
     84OBJNTools = $(shell echo `cat ./NTools/objlist.list `)
     85OBJHiStats = $(shell echo `cat ./HiStats/objlist.list `)
     86OBJSkyMap = $(shell echo `cat ./SkyMap/objlist.list `)
     87OBJSamba = $(shell echo `cat ./Samba/objlist.list `)
     88OBJSkyT = $(shell echo `cat ./SkyT/objlist.list `)
     89ALLOBJS = $(OBJSysTools) $(OBJTArray) $(OBJNTools) $(OBJHiStats) $(OBJSkyMap) $(OBJSamba) $(OBJSkyT)
     90 
     91# List of .o files modules with reference to external libraries
     92OBJFitsIOServer = $(shell echo `cat ./FitsIOServer/objlist.list `)
     93OBJIFFTW = $(shell echo `cat ./IFFTW/objlist.list `)
     94OBJLinAlg = $(shell echo `cat ./LinAlg/objlist.list `)
     95ALLEXTOBJS = $(OBJFitsIOServer) $(OBJIFFTW) $(OBJLinAlg)
     96 
     97# List of .o files for PI modules
     98OBJPI = $(shell echo `cat ./PI/objlist.list `)
     99OBJPIext = $(shell echo `cat ./PIext/objlist.list `)
     100ALLPIOBJS = $(OBJPI) $(OBJPIext)
     101 
     102# Building Sophya shared library
     103$(SLB)libsophya.so : $(PSLB)
     104        $(CMDTILSHL)
     105        cd  $(OBJ); \
     106        $(CMDSHLCXX) -o $(SLB)libsophya.so  \
     107        $(FGSHLACXX) $(ALLOBJS)  $(FGSHLNCXX)\
     108        -L$(SLB) $(LIBLSHL)
     109 
     110# Building ExtSophya shared library
     111$(SLB)libextsophya.so : $(EXTPSLB)
     112        $(CMDTILSHL)
     113        cd  $(OBJ); \
     114        $(CMDSHLCXX) -o $(SLB)libextsophya.so  \
     115        $(FGSHLACXX) $(ALLEXTOBJS)  $(FGSHLNCXX)\
     116        -L$(SLB) -lsophya $(EXTLIB) $(LIBLSHL)
     117 
     118# Building PI shared library
     119$(SLB)libPI.so : $(PIPSLB)
     120        $(CMDTILSHL)
     121        cd  $(OBJ); \
     122        $(CMDSHLCXX) -o $(SLB)libPI.so  \
     123        $(FGSHLACXX) $(ALLPIOBJS) $(FGSHLNCXX) \
     124        -L$(SLB) -lsophya -lextsophya $(EXTLIB) $(XPILIBS) $(LIBLSHL)
     125 
    207126
    208127clean:
    209128        if [ -d $(LIB) ] ; then cd $(LIB)/. ; rm -f *.a  ; fi
    210129        if [ -d $(SLB) ] ; then cd $(SLB)/. ; rm -f *.so ; fi
    211         if [ -d $(OBJ) ] ; then cd $(OBJ)/. ; rm -f *.o  ; fi
    212         if [ -d $(OBJ)/cxxrep ] ; then cd $(OBJ)/cxxrep/. ; rm -f *.o  ; fi
    213         if [ -d PI ]     ; then cd PI/.     ; $(MAKE) clean ; fi
     130        if [ -d $(OBJ) ] ; then cd $(OBJ)/. ; rm -f *.o  rm -rf cxxrep* ; fi
     131#       if [ -d PI ]     ; then cd PI/.     ; $(MAKE) clean ; fi
    214132
  • trunk/SophyaLib/Mgr/Makefile.slb

    r740 r823  
    1111# et liste des librairies pour PI (X11, Motif)
    1212LIBXPILIST := -lXm -lXt -lX11
     13
     14# librairie compilateur GNU (g++)
     15LIBGPP := -L$(GLB) -lstdc++
     16ifeq ($(HOSTTYPE), powerpc)
     17  LIBGPP = -L$(GLB)
     18endif
    1319
    1420#  External libraries
     
    3945  override USECXX4SO := Y
    4046  override CMDSHLCXX := $(LINK.cc) -shared
     47  override LIBLSHL := $(LIBGPP) $(LIBLSHL)
    4148endif
    4249
     
    5865  override FGSHLA := -all
    5966  override FGSHLN := -none
    60   override LIBLSHL := -lcxxstd -lcxx -lexc -lm -lc -lrt
     67#  override LIBLSHL := -lcxxstd -lcxx -lexc -lm -lc -lrt
     68  override LIBLSHL := $(LIBLSHL) -lrt
    6169  override TILSHL := $(LIB)libertcxx.a
    6270  override CMDTILSHL := rm -f $(LIB)libsotcxx.a ; cd $(REP); $(AR) $(ARFLAGS) $(LIB)libsotcxx.a *.o
     
    6472  override CMDTILSHLPI := rm -f $(LIB)libsotcxxpi.a ; cd $(REPPI); $(AR) $(ARFLAGS) $(LIB)libsotcxxpi.a *.o
    6573  ifeq ($(CXX),g++)
    66     override LIBLSHL := $(LIBG) -lm -lc
    6774    override TILSHL :=
    6875    override TILSHLPI :=
     
    7279  override FGSHLACXX :=
    7380  override FGSHLNCXX :=
     81  override USECXX4SO := Y
    7482endif
    7583
     
    8593  override FGSHLACXX :=
    8694  override FGSHLNCXX :=
    87   override LIBLSHL := $(LIBG) -lm -ldl
     95  override LIBLSHL := $(LIBLSHL) -ldl
    8896  override TILSHL :=
    8997  override LIBXPIPATH := -L/usr/X11/lib
     
    96104  override FGSHLA := -z allextract
    97105  override FGSHLN := -z weakextract
    98   override LIBLSHL := $(LIBG) -lm -lc
    99106  override TILSHL :=
    100107  override LIBXPIPATH := -L/usr/X11/lib
     
    107114  override FGSHLA := -all
    108115  override FGSHLN := -notall
    109   override LIBLSHL := $(LIBG) -lm -lc
    110116  override TILSHL :=
    111117  ifeq ($(EROSCXX), CC)
    112118    override CMDSHLCXX := CC -shared
    113     override LIBLSHL := -lm -lc
    114119  endif
    115120  override LIBXPIPATH := -L/usr/X11/lib
  • trunk/SophyaLib/Mgr/mkmf

    r751 r823  
    11#!/bin/csh
    2 # $Id: mkmf,v 1.10 2000-03-02 10:57:51 ansari Exp $
     2# $Id: mkmf,v 1.11 2000-04-06 09:50:06 ansari Exp $
    33
    44#  Pour debugger
     
    6767
    6868echo 'LIBF = ' `sed -e 's/.*/$(LIB)lib&.a/' libdirs` >> GNUmakefile
    69 echo 'LIBS = -L$(LIB)' `sed -e 's/.*/-l&/' libdirs` '-lm' >> GNUmakefile
    70 echo 'LIBG = -L$(GLB) -lstdc++' >> GNUmakefile
    71 echo 'ifeq ($(HOSTTYPE), powerpc)' >> GNUmakefile
    72 echo '  LIBG = -L$(GLB)' >> GNUmakefile
    73 echo 'endif' >> GNUmakefile
     69# echo 'LIBS = -L$(LIB)' `sed -e 's/.*/-l&/' libdirs` '-lm' >> GNUmakefile
     70echo 'LIBS = -L$(LIB)' `sed -e 's/.*/-l&/' libdirs`  >> GNUmakefile
     71# echo 'LIBG = -L$(GLB) -lstdc++' >> GNUmakefile
     72# echo 'ifeq ($(HOSTTYPE), powerpc)' >> GNUmakefile
     73# echo '  LIBG = -L$(GLB)' >> GNUmakefile
     74# echo 'endif' >> GNUmakefile
    7475
    7576cat >> GNUmakefile <<EOF
  • trunk/SophyaLib/Mgr/mkmflib

    r740 r823  
    11#!/bin/csh
    2 # $Id: mkmflib,v 1.4 2000-02-25 18:34:49 ansari Exp $
     2# $Id: mkmflib,v 1.5 2000-04-06 09:50:08 ansari Exp $
    33
    44cd ../$1
     
    5858#  Pour faire compiler les instantiations automatique de cxx (DEC)
    5959echo 'ifeq ($(CXX),cxx)' >> GNUmakefile
    60 echo '  $(CXX) $? $(CPPFLAGS) $(CXXFLAGS)' $hfcxxlibs '-o $(OBJ)xx.x -Hf' >> GNUmakefile
     60#echo ' $(CXX) $? $(CPPFLAGS) $(CXXFLAGS)' $hfcxxlibs '-o $(OBJ)xx.x -Hf' >> GNUmakefile
     61echo '  $(CXX) $? $(CPPFLAGS) $(CXXFLAGS) -o $(OBJ)xx.x -Hf' >> GNUmakefile
    6162echo 'endif ' >> GNUmakefile
    6263
Note: See TracChangeset for help on using the changeset viewer.