#!/bin/csh # # $Header$ # # FH : on ne cr�e plus le fichier arch.mk qui est suppos� exister par # FH : ailleurs. # FH : ult�rieurement, ce fichier sera pr�-existant pour une s�rie # FH : de configurations en versions optimis�es et debug qui seront # FH : li�s (ln -s) avec arch.mk en fonction de l'architecture. # FH : Pour le moment, cette version est en test et on peut cr�er les # FH : arch.mk en lan�ant une premi�re fois makegcm7. # set verbose echo ######################################################################## # options par defaut pour la commande make ######################################################################## set dim="96x72x19" set physique=lmd set ntrac = 4 set filtre=filtrez set grille=reg set couple=false set veget=false set chimie=false set parallel=none set compil_mod=prod set io=ioipsl set LIBPREFIX="" set LMDGCM=`/bin/pwd` set LIBOGCM=$LMDGCM/libo set LIBFGCM=$LMDGCM/libf ######################################################################## # Quelques initialisations de variables du shell. ######################################################################## set CPP_KEY="" set INCLUDE="" set LIB="" set adjnt="" set COMPIL_FFLAGS="%PROD_FFLAGS" set PARA_FFLAGS="" set PARA_LD="" ######################################################################## # lecture des options de mymake ######################################################################## top: if ($#argv > 0) then switch ($1:q) case -h: cat < YM desactive pour le traitemement en parallele ###################################################################### #if ( -f $libf/phy$physique/raddim.h ) then # if ( -f $libf/phy$physique/raddim.$dimh.h ) then # \rm -f $libf/phy$physique/raddim.h # cp -p $libf/phy$physique/raddim.$dimh.h $libf/phy$physique/raddim.h # echo $libf/phy$physique/raddim.$dimh.h # cat $libf/phy$physique/raddim.h # else # echo On peut diminuer la taille de l executable en creant # echo le fichier $libf/phy$physique/raddim.$dimh.h # \cp -p $libf/phy$physique/raddim.defaut.h $libf/phy$physique/raddim.h # endif #endif ###################################################################### # Gestion du filtre qui n'existe qu'en 3d. ###################################################################### if ( `expr $dimc \> 2` == 1 ) then set filtre="FILTRE=$filtre" else set filtre="FILTRE= L_FILTRE= " endif echo MACRO FILTRE $filtre echo $dimc ###################################################################### # Creation du suffixe de la configuration ###################################################################### set SUFF_NAME=_${dim_full} set SUFF_NAME=${SUFF_NAME}_t${ntrac}_phy${physique} if ( "$parallel" != 'none' ) then set SUFF_NAME=${SUFF_NAME}_para set DYN=dyn${dimc}dpar else set SUFF_NAME=${SUFF_NAME}_seq set DYN=dyn${dimc}d endif if ( $veget == "true" ) then set SUFF_NAME=${SUFF_NAME}_orch endif if ( $couple != "false" ) then set SUFF_NAME=${SUFF_NAME}_couple endif if ( $chimie == 'INCA' ) then set SUFF_NAME=${SUFF_NAME}_inca endif cd $LMDGCM set config_fcm="config.fcm" rm -f $config_fcm touch $config_fcm rm -f bin/${code}${SUFF_NAME}.e rm -f arch.fcm echo "%ARCH $arch" >> $config_fcm echo "%INCDIR $INCLUDE" >> $config_fcm echo "%LIB $LIB" >> $config_fcm echo "%ROOT_PATH $PWD" >> $config_fcm echo "%LIBF $LIBFGCM" >> $config_fcm echo "%LIBO $LIBOGCM" >> $config_fcm echo "%DYN $DYN" >> $config_fcm echo "%PHYS phy${physique}" >> $config_fcm echo "%CPP_KEY $CPP_KEY" >> $config_fcm echo "%EXEC $code" >> $config_fcm echo "%SUFF_NAME $SUFF_NAME" >> $config_fcm echo "%COMPIL_FFLAGS $COMPIL_FFLAGS" >> $config_fcm echo "%PARA_FFLAGS $PARA_FFLAGS" >> $config_fcm echo "%PARA_LD $PARA_LD" >> $config_fcm ln -s machine/arch-${arch}.fcm arch.fcm rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock ./build_gcm rm -f tmp_src rm -f config ln -s $LIBOGCM/${arch}${SUFF_NAME}/.config config ln -s $LIBOGCM/${arch}${SUFF_NAME}/.config/tmp tmp_src #\rm -f $libf/grid/dimensions.h