Changeset 1403 for trunk/LMDZ.COMMON/create_make_gcm
- Timestamp:
- Mar 31, 2015, 3:49:07 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/create_make_gcm
r1391 r1403 5 5 #set -xv 6 6 7 # arguments given to create_make_gcm are the directories to scan 8 src_dirs=$* 7 9 8 10 machine=`hostname` … … 48 50 fi 49 51 echo "LOCAL_DIR=`echo $localdir`" 50 echo ' BIBIO = $(LIBF)/bibio'51 echo 'DYN3D_COMMON = $(LIBF)/dyn3d_common'52 echo 'MISC = $(LIBF)/misc' 53 #echo 'DYN3D_COMMON = $(LIBF)/dyn3d_common' 52 54 echo "FILTRE = filtre" 53 55 echo "PHYS = " 54 56 echo 'LIBPHY = $(LIBO)/libphy$(PHYS).a' 57 echo 'LIBDYN_PHY = $(LIBO)/libdynlmdz_phy$(PHYS).a' 55 58 echo 'DIRMAIN=dyn$(DIM)d$(FLAG_PARA)' 56 59 echo 'RM=rm' … … 61 64 echo 'L_DYN = -ldyn$(DIM)d$(FLAG_PARA) -ldyn3d_common' 62 65 echo 'L_FILTRE = -l$(FILTRE)' 66 echo 'L_DYN_PHY = -ldynlmdz_phy$(PHYS) ' 63 67 echo 'L_PHY = -lphy$(PHYS) ' 64 echo 'L_ BIBIO = -lbibio'68 echo 'L_MISC = -lmisc' 65 69 echo 'L_ADJNT =' 66 70 echo 'L_COSP = -lcosp' … … 97 101 echo 98 102 #echo 'main : chimie $(DYN) bibio phys $(OPTION_DEP) ' 99 echo 'main : $(DYN) bibio phys$(OPTION_DEP) '103 echo 'main : $(DYN) misc phys dyn_phy $(OPTION_DEP) ' 100 104 echo ' cd $(LIBO) ; $(RANLIB) lib*.a ; cd $(GCM) ;\' 101 105 echo ' cd $(LOCAL_DIR); \' 102 106 echo ' $(COMPILE90) $(LIBF)/$(DIRMAIN)/$(SOURCE) -o $(PROG).o ; \' 103 echo ' $(LINK) $(PROG).o -L$(LIBO) $(L_DYN) $(L_ ADJNT) $(L_COSP) $(L_AERONOMARS) $(L_PHY) $(L_DYN) $(L_DYN3D_COMMON) $(L_BIBIO) $(L_DYN3D_COMMON) $(L_PHY) $(L_DYN) $(L_FILTRE) $(OPLINK) $(OPTION_LINK) -o $(LOCAL_DIR)/$(PROG).e ; $(RM) $(PROG).o '107 echo ' $(LINK) $(PROG).o -L$(LIBO) $(L_DYN) $(L_DYN_PHY) $(L_ADJNT) $(L_COSP) $(L_AERONOMARS) $(L_PHY) $(L_DYN) $(L_DYN3D_COMMON) $(L_MISC) $(L_DYN3D_COMMON) $(L_PHY) $(L_DYN_PHY) $(L_DYN) $(L_FILTRE) $(OPLINK) $(OPTION_LINK) -o $(LOCAL_DIR)/$(PROG).e ; $(RM) $(PROG).o ' 104 108 echo 105 109 echo 'phys : $(LIBPHY)' … … 108 112 echo 'dyn1d :' 109 113 echo 114 echo 'dyn_phy: $(LIBDYN_PHYS)' 110 115 echo 111 116 #echo 'chimie : $(LIBO)/libchimie.a' 112 117 echo 113 echo ' bibio : $(LIBO)/libbibio.a'118 echo 'misc : $(LIBO)/libmisc.a' 114 119 echo 115 120 echo 'adjnt : $(LIBO)/libadjnt.a' … … 133 138 echo 134 139 cd $libf >/dev/null 2>&1 135 for diri in ` ls ` ; do 140 141 for diri in $src_dirs ; do 136 142 137 143 if [ -d $diri ] ; then 138 if [ "`ls $diri/*.F $diri/*/*.F`" != "" ] || [ "`ls $diri/*.[fF]90 $diri/*/*.[fF]90`" != "" ] ; then144 if [ "`ls $diri/*.F`" != "" ] || [ "`ls $diri/*.[fF]90`" != "" ] ; then 139 145 # cd $diri >/dev/null 2>&1 140 146 echo 141 147 listlib="" 142 148 # Liste des fichiers .F et .F90 n'etant pas des programmes principaux 143 for fili in `ls $diri/*.[fF] $diri/*/*.[fF]` ; do149 for fili in `ls $diri/*.[fF]` ; do 144 150 # Check if file is a routine or main program 145 151 # i.e: look for the "program" keword preceeded by leading spaces … … 150 156 fi 151 157 done 152 for fili in `ls $diri/*.[fF]90 $diri/*/*.[fF]90` ; do158 for fili in `ls $diri/*.[fF]90` ; do 153 159 # Check if file is a routine or main program 154 160 # i.e. look for "program" keyword (with possibly some leading spaces) … … 163 169 echo $listlib >> $logfile 164 170 echo 171 # topdiri contains main dir name (without trailing "/blabla" for subdirs) 172 topdiri=${diri%/*} 165 173 echo "#=======================================================================" 166 174 echo "# Contenu de la bibliotheque correspondant au Directory "$diri … … 170 178 do 171 179 fili=`echo $trufile | awk -F/ ' { print $NF } ' | cut -d. -f1` 172 echo '$(LIBO)/lib'$ diri".a : " '$(LIBO)/lib'$diri".a("$fili".o)"180 echo '$(LIBO)/lib'$topdiri".a : " '$(LIBO)/lib'$topdiri".a("$fili".o)" 173 181 echo 174 182 done 175 echo '.PRECIOUS : $(LIBO)/lib'$ diri'.a'176 echo 177 echo 178 echo "# Compilation des membres de la bibliotheque lib"$diri".a"183 echo '.PRECIOUS : $(LIBO)/lib'$topdiri'.a' 184 echo 185 echo 186 echo "# Compilation of elements in $diri of library lib"$topdiri".a" 179 187 echo 180 188 for trufile in $listlib ; do … … 183 191 egrep -i '^ *module ' $trufile > /dev/null 2>&1 && F90=1 184 192 egrep -i '#include*.inc ' $trufile > /dev/null 2>&1 && F90=1 185 str1='$(LIBO)/lib'$ diri'.a('$fili'.o) : $(LIBF)/'$trufile186 [ "$fili" = " chem.subs" ] && str1=$str1' $(LIBF)/'$diri/chem.mods.F193 str1='$(LIBO)/lib'$topdiri'.a('$fili'.o) : $(LIBF)/'$trufile 194 [ "$fili" = "$diri/chem.subs" ] && str1=$str1' $(LIBF)/'$diri/chem.mods.F 187 195 188 196 ########################################################################## … … 199 207 strj=`echo $stri | tr [A-Z] [a-z]` 200 208 str2="" 201 for dirinc in filtrez bibio dyn3d_common grid dyn3d phy* $diri $diri/*/; do209 for dirinc in $src_dirs ; do 202 210 # Recherche dans l'ordre hierarchique inverse car seule la derniere 203 211 # ligne est conservee 204 if [ $dirinc = phydev ] ; then205 dirstr='$(PHYS)'206 libstr='phy$(PHYS)'207 else212 # if [ $dirinc = phydev ] ; then 213 # dirstr='$(PHYS)' 214 # libstr='phy$(PHYS)' 215 # else 208 216 dirstr=$dirinc 209 217 libstr=$dirinc 210 fi218 # fi 211 219 echo dirinc $dirinc >> $logfile 212 220 if [ -f $dirinc/$stri ] ; then … … 238 246 # object from library 239 247 echo ' cd $(LIBO); \' 240 echo ' $(AR) d $(LIBO)/lib'$ diri'.a '$fili'.o ; \'248 echo ' $(AR) d $(LIBO)/lib'$topdiri'.a '$fili'.o ; \' 241 249 if [ "$F90" -eq '0' ] ; then 242 250 ## Fixed Form Fortran 77 … … 252 260 fi 253 261 # Put generated object in library 254 echo ' $(AR) r $(LIBO)/lib'$ diri'.a '$fili'.o ; $(RM) '$fili'.o ; \'262 echo ' $(AR) r $(LIBO)/lib'$topdiri'.a '$fili'.o ; $(RM) '$fili'.o ; \' 255 263 echo ' cd $(GCM)' 256 264 echo … … 303 311 str1='$(LIBF)/'$diri'/'$stri 304 312 else 305 for dirinc in dyn3d grid bibio313 for dirinc in dyn3d grid misc 306 314 do 307 315 if [ -f ../$dirinc/$stri ] ; then
Note: See TracChangeset
for help on using the changeset viewer.