Ignore:
Timestamp:
Dec 3, 2010, 12:12:25 PM (14 years ago)
Author:
Ehouarn Millour
Message:

Cleanup of the create_make_gcm script; compilation is now done in LIBO (to avoid having to move module files around) and the SX specificities (which are no longer necessary) have been removed. A new feature has been added: when compiling a routine, the previously object (built during a previous compilation) is first removed from the library.
A '-f' option was added to the makegcm csh script to enforce not sourcing csh environment and system defaults (important on LMD linux machines).

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/LMDZ5V2.0-dev/create_make_gcm

    r1403 r1461  
    11#!/bin/sh
    22#
    3 # $Header$
     3# $Id$
    44#
    55#set -xv
     
    5959echo '# Les differentes librairies pour l"edition des liens:'
    6060echo
    61 if ( [ "$XNEC" = '1' ] || [ "$X6NEC" = '1' ] || [ "$X8BRODIE" = '1' ] ) ; then
    62   echo 'dyn3d      = $(LIBO)/libsxdyn3d.a $(LIBO)/libsx$(FILTRE).a'
    63   echo 'dyn3dpar     = $(LIBO)/libsxdyn3dpar.a $(LIBO)/libsx$(FILTRE).a'
    64   echo 'dyn2d      = $(LIBO)/libsxdyn2d.a'
    65   echo 'dyn1d      = $(LIBO)/libsxdyn1d.a'
    66   echo 'L_DYN      = -lsxdyn$(DIM)d$(FLAG_PARA)'
    67   echo 'L_FILTRE   = -lsx$(FILTRE)'
    68   echo 'L_PHY = -lsxphy$(PHYS) '
    69   echo 'L_BIBIO    = -lsxbibio'
    70   echo 'L_ADJNT    ='
    71   echo 'L_COSP     = -lsxcosp'
    72 else
    73   echo 'dyn3d            = $(LIBO)/libdyn3d.a $(LIBO)/lib$(FILTRE).a'
    74   echo 'dyn3dpar      = $(LIBO)/libdyn3dpar.a $(LIBO)/lib$(FILTRE).a'
    75   echo 'dyn2d            = $(LIBO)/libdyn2d.a'
    76   echo 'dyn1d            = $(LIBO)/libdyn1d.a'
    77   echo 'L_DYN      = -ldyn$(DIM)d$(FLAG_PARA)'
    78   echo 'L_FILTRE   = -l$(FILTRE)'
    79   echo 'L_PHY = -lphy$(PHYS) '
    80   echo 'L_BIBIO    = -lbibio'
    81   echo 'L_ADJNT    ='
    82   echo 'L_COSP     = -lcosp'
    83 fi
     61echo 'dyn3d            = $(LIBO)/libdyn3d.a $(LIBO)/lib$(FILTRE).a'
     62echo 'dyn3dpar      = $(LIBO)/libdyn3dpar.a $(LIBO)/lib$(FILTRE).a'
     63echo 'dyn2d            = $(LIBO)/libdyn2d.a'
     64echo 'dyn1d            = $(LIBO)/libdyn1d.a'
     65echo 'L_DYN      = -ldyn$(DIM)d$(FLAG_PARA)'
     66echo 'L_FILTRE   = -l$(FILTRE)'
     67echo 'L_PHY = -lphy$(PHYS) '
     68echo 'L_BIBIO    = -lbibio'
     69echo 'L_ADJNT    ='
     70echo 'L_COSP     = -lcosp'
    8471
    8572echo
     
    219206         done
    220207         echo $str1
     208         # Compile in LIBO directory; and before compiling, remove
     209         # object from library
     210         echo ' cd $(LIBO); \'
     211         echo ' $(AR) d $(LIBO)/lib'$diri'.a '$fili'.o ; \'
    221212         if [ "$F90" -eq '0' ] ; then
    222            echo '       cd $(LOCAL_DIR); \'
     213         ## Fixed Form Fortran 77
    223214           echo '       $(COMPILE) $(LIBF)/'$diri'/'$trufile' ; \'
    224215         else
    225            echo '       cd $(LOCAL_DIR); \'
     216         ## Fortran 90
    226217           if [ -f $fili.F90 ] ; then
    227               echo '    $(COMPTRU90) $(LIBF)/'$diri'/'$trufile' ; \'
     218              ## Free Form
     219              echo '    $(COMPTRU90) $(LIBF)/'$diri'/'$trufile' ; \'
    228220           else
    229221              echo '    $(COMPILE90) $(LIBF)/'$diri'/'$trufile' ; \'
    230222           fi
    231            MODU=0; egrep -i '^ *module ' $trufile> /dev/null 2>&1 && MODU=1
    232             if [ "$MODU" -eq '1' -a "$CRAY" != '1' ] ; then
    233               if [ "$os" = 'UNIX_System_V' ] ; then
    234                 echo '  cp $(MOD_LOC_DIR)/*.$(MOD_SUFFIX) $(LIBO)/ ; \'
    235               else
    236                 echo '  mv $(MOD_LOC_DIR)/'$fili'.$(MOD_SUFFIX) $(LIBO)/'$fili'.$(MOD_SUFFIX) ; \'
    237 #                echo ' if [ "$(MOD_LOC_DIR)" ne "$(LIBO)" ] ; then mv $(MOD_LOC_DIR)/'*'.$(MOD_SUFFIX) $(LIBO) ; fi ; \'
    238               fi
    239             fi
    240223         fi
    241          if ( [ "$XNEC" -eq '1' ] || [ "$X6NEC" = '1' ] || [ "$X8BRODIE" = '1' ] ) ; then
    242            echo '       sxar r $(LIBO)/libsx'$diri'.a '$fili'.o ; \'
    243          fi
     224         # Put generated object in library
    244225         echo ' $(AR) r $(LIBO)/lib'$diri'.a '$fili'.o ; $(RM) '$fili'.o ; \'
    245226         echo ' cd $(GCM)'
Note: See TracChangeset for help on using the changeset viewer.