Index: palm/trunk/SCRIPTS/mbuild
===================================================================
--- palm/trunk/SCRIPTS/mbuild	(revision 35)
+++ palm/trunk/SCRIPTS/mbuild	(revision 40)
@@ -1,4 +1,4 @@
 #!/bin/ksh
-# mbuild - Programmuebersetzungsscript   Version:  @(#)MBUILD 1.0    28/02/07
+# mbuild - Programmuebersetzungsscript   Version:  @(#)MBUILD 1.0    02/03/07
 
      # Prozedur zur Uebersetzung von Programmteilen mittels make-Mechanismus
@@ -79,5 +79,5 @@
      # 07/02/07 - Siggi - adapted for RIAM (neck)
      # 10/02/07 - Siggi - all hpmuk-related code removed
-     # 28/02/07 - Siggi - compilation of utility programs and transfer of
+     # 02/03/07 - Siggi - compilation of utility programs and transfer of
      #                    scripts to remote hosts added (option -u)
 
@@ -359,32 +359,125 @@
 
 
- cd  $local_source_path
-
-
-    # LISTE DER ZU PRUEFENDEN QUELLTEXTDATEIEN ERSTELLEN
- source_code_files=`ls -1  *.$suf`
-
-
-
-    # VERZEICHNIS FUER DAS MAKE-DEPOSITORY ERZEUGEN,
-    # FALLS NOCH NICHT VORHANDEN. ANSONSTEN ALLE DATEIEN
-    # NEUEREN DATUMS IN DIESES VERZEICHNIS KOPIEREN
- if [[ ! -d $local_depository_path ]]
+ if [[ $compile_utility_programs = false ]]
  then
-    if  mkdir $local_depository_path
-    then
-       printf "\n\n  *** directory for make depository:"
-       printf "\n           $local_depository_path"
-       printf "\n      was created\n"
-
-          # MAKEFILE UND QUELLTEXTDATEIEN UNTER BEIBEHALTUNG
-          # IHRES DATUMS INS VERZEICHNIS KOPIEREN
-       printf "\n  *** makefile and source code files are copied to"
-       printf "\n      $local_depository_path\n"
-       printf "\n      copying makefile \"$makefile\" ..."
-       cp -p  $makefile  $local_depository_path/Makefile
-
-          # QUELLTEXTDATEIEN MUESSEN IM MAKEFILE AUFGEFUEHRT
-          # SEIN
+
+    cd  $local_source_path
+
+
+       # LISTE DER ZU PRUEFENDEN QUELLTEXTDATEIEN ERSTELLEN
+    source_code_files=`ls -1  *.$suf`
+
+
+
+       # VERZEICHNIS FUER DAS MAKE-DEPOSITORY ERZEUGEN,
+       # FALLS NOCH NICHT VORHANDEN. ANSONSTEN ALLE DATEIEN
+       # NEUEREN DATUMS IN DIESES VERZEICHNIS KOPIEREN
+    if [[ ! -d $local_depository_path ]]
+    then
+       if  mkdir $local_depository_path
+       then
+          printf "\n\n  *** directory for make depository:"
+          printf "\n           $local_depository_path"
+          printf "\n      was created\n"
+
+             # MAKEFILE UND QUELLTEXTDATEIEN UNTER BEIBEHALTUNG
+             # IHRES DATUMS INS VERZEICHNIS KOPIEREN
+          printf "\n  *** makefile and source code files are copied to"
+          printf "\n      $local_depository_path\n"
+          printf "\n      copying makefile \"$makefile\" ..."
+          cp -p  $makefile  $local_depository_path/Makefile
+
+             # QUELLTEXTDATEIEN MUESSEN IM MAKEFILE AUFGEFUEHRT
+             # SEIN
+          for  filename  in  $source_code_files
+          do
+             if [[ $(grep -c $filename  $makefile) = 0 ]]
+             then
+                printf "\n  +++ source code file:"
+                printf "\n         $filename"
+                printf "\n      is not listed in makefile"
+                locat=makefile; exit
+             else
+                printf "\n      copying source code file \"$filename\" ..."
+                cp -p  $filename  $local_depository_path
+             fi
+          done
+          printf "\n"
+       else
+          printf "\n  +++ directory for make depository:"
+          printf "\n           $local_depository_path"
+          printf "\n      cannot be created"
+          locat=local_depository_path; exit
+       fi
+    else
+ 
+       printf "\n  *** checking file status ..."
+
+          # MAKEFILE KOPIEREN, FALLS NEUEREN DATUMS
+       if [[ $makefile -nt $local_depository_path/Makefile ]]
+       then
+          printf "\n  *** update of \"$makefile\" "
+          cp -f -p  $makefile  $local_depository_path/Makefile
+          update=true
+
+             # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY AUCH IM NEUEN MAKEFILE
+             # VERZEICHNET SIND UND GEGEBENENFALLS DATEIEN LOESCHEN
+          cd  $local_depository_path
+          source_code_files_in_depository=`ls -1  *.$suf`
+          for  filename  in  $source_code_files_in_depository
+          do
+             if [[ $(grep -c $filename  Makefile) = 0 ]]
+             then
+                printf "\n  *** source code file in \"$local_depository_path\":"
+                printf "\n         $filename"
+                printf "\n      is not listed in makefile"
+                if [[ $silent = false ]]
+                then
+                   answer=dummy
+                   printf "\n\n"
+                   while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
+                   do
+                      printf " >>> delete \"$filename\" in \"$local_depository_path\" (y/n) ?  "
+                      read  answer
+                   done
+                   if [[ $answer = y  ||  $answer = Y ]]
+                   then
+                      base=`echo $filename | cut -d. -f2`
+                      rm -f  $filename
+                      rm -f  ${base}.o  ${base}.mod
+                      printf "\n  *** \"$filename\" deleted in \"$local_depository_path\" "
+                   else 
+                      printf "\n  *** \"$filename\" not deleted in \"$local_depository_path\" "
+                   fi
+                fi
+             fi
+          done
+          cd  -  > /dev/null  2>&1
+
+       elif [[ $local_depository_path/Makefile -nt $makefile ]]
+       then
+          printf "\n  *** makefile in depository is newer than"
+          printf "\n      \"$makefile\" "
+          if [[ $silent = false ]]
+          then
+             answer=dummy
+             printf "\n\n"
+             while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
+             do
+                printf " >>> update \"$makefile\" (y/n) ?  "
+                read  answer
+             done
+             if [[ $answer = y  ||  $answer = Y ]]
+             then
+                cp -f -p  $local_depository_path/Makefile  $makefile
+                printf "\n  *** \"$makefile\" updated"
+             else 
+                printf "\n  *** \"$makefile\" not updated"
+             fi
+          fi
+       fi
+
+          # QUELLTEXTDATEIEN KOPIEREN, FALLS NEUEREN DATUMS
+          # SIE MUESSEN IM MAKEFILE AUFGEFUEHRT SEIN
        for  filename  in  $source_code_files
        do
@@ -396,37 +489,29 @@
              locat=makefile; exit
           else
-             printf "\n      copying source code file \"$filename\" ..."
-             cp -p  $filename  $local_depository_path
+             if [[ ! -f $local_depository_path/$filename ]]
+             then
+                cp -p  $filename  $local_depository_path
+                printf "\n  *** source code file \"$filename\" created in \"$local_depository_path\" "
+             fi
+             if [[ $filename -nt $local_depository_path/$filename ]]
+             then
+                printf "\n  *** update of source code file \"$filename\" "
+                cp -f -p  $filename  $local_depository_path
+                update=true
+             fi
           fi
        done
-       printf "\n"
-    else
-       printf "\n  +++ directory for make depository:"
-       printf "\n           $local_depository_path"
-       printf "\n      cannot be created"
-       locat=local_depository_path; exit
-    fi
- else
- 
-    printf "\n  *** checking file status ..."
-
-       # MAKEFILE KOPIEREN, FALLS NEUEREN DATUMS
-    if [[ $makefile -nt $local_depository_path/Makefile ]]
-    then
-       printf "\n  *** update of \"$makefile\" "
-       cp -f -p  $makefile  $local_depository_path/Makefile
-       update=true
-
-          # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY AUCH IM NEUEN MAKEFILE
-          # VERZEICHNET SIND UND GEGEBENENFALLS DATEIEN LOESCHEN
+
+
+          # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY IM AKTUELLEN ARBEITSVERZEICHNIS VORHANDEN
+          # ODER EVTL. NEUEREN DATUMS SIND
        cd  $local_depository_path
        source_code_files_in_depository=`ls -1  *.$suf`
+       cd  -  > /dev/null  2>&1
        for  filename  in  $source_code_files_in_depository
        do
-          if [[ $(grep -c $filename  Makefile) = 0 ]]
+          if [[ ! -f $filename ]]
           then
-             printf "\n  *** source code file in \"$local_depository_path\":"
-             printf "\n         $filename"
-             printf "\n      is not listed in makefile"
+             printf "\n  *** source code file \"$filename\" does not exist in current directory"
              if [[ $silent = false ]]
              then
@@ -435,80 +520,43 @@
                 while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
                 do
-                   printf " >>> delete \"$filename\" in \"$local_depository_path\" (y/n) ?  "
+                   printf " >>> create \"$filename\" in current directory (y/n) ?  "
                    read  answer
                 done
                 if [[ $answer = y  ||  $answer = Y ]]
                 then
-                   base=`echo $filename | cut -d. -f2`
-                   rm -f  $filename
-                   rm -f  ${base}.o  ${base}.mod
-                   printf "\n  *** \"$filename\" deleted in \"$local_depository_path\" "
+                   cp -p  $local_depository_path/$filename  $filename
+                   printf "\n  *** source code file \"$filename\" created in current directory"
                 else 
-                   printf "\n  *** \"$filename\" not deleted in \"$local_depository_path\" "
+                   printf "\n  *** source code file \"$filename\" not created in current directory"
+                fi
+             fi
+          elif [[ $local_depository_path/$filename -nt $filename ]]
+          then
+             ls -al $local_depository_path/$filename
+             ls -al $filename
+             printf "\n  *** source code file \"$filename\" in depository is newer than in current directory"
+             if [[ $silent = false ]]
+             then
+                answer=dummy
+                printf "\n\n"
+                while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
+                do
+                   printf " >>> update \"$filename\" in current directory (y/n) ?  "
+                   read  answer
+                done
+                if [[ $answer = y  ||  $answer = Y ]]
+                then
+                   cp -f -p  $local_depository_path/$filename  $filename
+                   printf "\n  *** source code file \"$filename\" updated in current directory"
+                else 
+                   printf "\n  *** source code file \"$filename\" not updated in current directory"
                 fi
              fi
           fi
        done
-       cd  -  > /dev/null  2>&1
-
-    elif [[ $local_depository_path/Makefile -nt $makefile ]]
-    then
-       printf "\n  *** makefile in depository is newer than"
-       printf "\n      \"$makefile\" "
-       if [[ $silent = false ]]
-       then
-          answer=dummy
-          printf "\n\n"
-          while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
-          do
-             printf " >>> update \"$makefile\" (y/n) ?  "
-             read  answer
-          done
-          if [[ $answer = y  ||  $answer = Y ]]
-          then
-             cp -f -p  $local_depository_path/Makefile  $makefile
-             printf "\n  *** \"$makefile\" updated"
-          else 
-             printf "\n  *** \"$makefile\" not updated"
-          fi
-       fi
-    fi
-
-       # QUELLTEXTDATEIEN KOPIEREN, FALLS NEUEREN DATUMS
-       # SIE MUESSEN IM MAKEFILE AUFGEFUEHRT SEIN
-    for  filename  in  $source_code_files
-    do
-       if [[ $(grep -c $filename  $makefile) = 0 ]]
-       then
-          printf "\n  +++ source code file:"
-          printf "\n         $filename"
-          printf "\n      is not listed in makefile"
-          locat=makefile; exit
-       else
-          if [[ ! -f $local_depository_path/$filename ]]
-          then
-             cp -p  $filename  $local_depository_path
-             printf "\n  *** source code file \"$filename\" created in \"$local_depository_path\" "
-          fi
-          if [[ $filename -nt $local_depository_path/$filename ]]
-          then
-             printf "\n  *** update of source code file \"$filename\" "
-             cp -f -p  $filename  $local_depository_path
-             update=true
-          fi
-       fi
-    done
-
-
-       # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY IM AKTUELLEN ARBEITSVERZEICHNIS VORHANDEN
-       # ODER EVTL. NEUEREN DATUMS SIND
-    cd  $local_depository_path
-    source_code_files_in_depository=`ls -1  *.$suf`
-    cd  -  > /dev/null  2>&1
-    for  filename  in  $source_code_files_in_depository
-    do
-       if [[ ! -f $filename ]]
-       then
-          printf "\n  *** source code file \"$filename\" does not exist in current directory"
+
+       if [[ $update = false ]]
+       then
+          printf "\n  *** no updates necessary in \"$local_depository_path\" "
           if [[ $silent = false ]]
           then
@@ -517,70 +565,27 @@
              while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
              do
-                printf " >>> create \"$filename\" in current directory (y/n) ?  "
+                printf " >>> continue with updates on remote hosts (y/n) ?  "
                 read  answer
              done
-             if [[ $answer = y  ||  $answer = Y ]]
-             then
-                cp -p  $local_depository_path/$filename  $filename
-                printf "\n  *** source code file \"$filename\" created in current directory"
-             else 
-                printf "\n  *** source code file \"$filename\" not created in current directory"
+             if [[ $answer = n  ||  $answer = N ]]
+             then
+                locat=user_abort; exit
              fi
           fi
-       elif [[ $local_depository_path/$filename -nt $filename ]]
-       then
-          ls -al $local_depository_path/$filename
-          ls -al $filename
-          printf "\n  *** source code file \"$filename\" in depository is newer than in current directory"
-          if [[ $silent = false ]]
-          then
-             answer=dummy
-             printf "\n\n"
-             while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
-             do
-                printf " >>> update \"$filename\" in current directory (y/n) ?  "
-                read  answer
-             done
-             if [[ $answer = y  ||  $answer = Y ]]
-             then
-                cp -f -p  $local_depository_path/$filename  $filename
-                printf "\n  *** source code file \"$filename\" updated in current directory"
-             else 
-                printf "\n  *** source code file \"$filename\" not updated in current directory"
-             fi
-          fi
-       fi
-    done
-
-    if [[ $update = false ]]
-    then
-       printf "\n  *** no updates necessary in \"$local_depository_path\" "
-       if [[ $silent = false ]]
-       then
-          answer=dummy
-          printf "\n\n"
-          while [[ "$answer" != y  &&  "$answer" != Y  &&  "$answer" != n  &&  "$answer" != N ]]
-          do
-             printf " >>> continue with updates on remote hosts (y/n) ?  "
-             read  answer
-          done
-          if [[ $answer = n  ||  $answer = N ]]
-          then
-             locat=user_abort; exit
-          fi
-       fi
-    fi
+       fi
+    fi
+ 
+
+ 
+       # QUELLTEXTDATEIEN UND MAKEFILE MIT TAR ZUSAMMENBINDEN
+       # IN JEDEM FALL ALLEN DATEIEN WRITE-PERMIT GEBEN, DAMIT ES AUF
+       # DEN REMOTE-RECHNERN NICHT EVTL. ZU PROBLEMEN BEIM UEBERSCHREIBEN KOMMT
+    printf "\n\n  *** tar of makefile and source files in depository ..."  
+    cd  $local_depository_path
+    chmod u+w  Makefile  *.$suf
+    tar -cf  ${mainprog}_sources.tar  Makefile  *.$suf
+    printf "\n"
+
  fi
- 
-
- 
-    # QUELLTEXTDATEIEN UND MAKEFILE MIT TAR ZUSAMMENBINDEN
-    # IN JEDEM FALL ALLEN DATEIEN WRITE-PERMIT GEBEN, DAMIT ES AUF
-    # DEN REMOTE-RECHNERN NICHT EVTL. ZU PROBLEMEN BEIM UEBERSCHREIBEN KOMMT
- printf "\n\n  *** tar of makefile and source files in depository ..."  
- cd  $local_depository_path
- chmod u+w  Makefile  *.$suf
- tar -cf  ${mainprog}_sources.tar  Makefile  *.$suf
- printf "\n"
 
 
@@ -1130,136 +1135,139 @@
        then
 
-             # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
-             # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
-          echo "  *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" "
-          if [[ $remote_host != lctit ]]
+          if [[ $compile_utility_programs = false ]]
           then
-             ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"
-          else
-                # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
-                # MIT SSH, DESHALB AUFRUF PER PIPE
-             print "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"  |  ssh ${remote_username}@${remote_addres}  2>&1
-          fi
-          if [[ $local_host = decalpha ]]
-          then
-                # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTÄNDIGEN PFADES
-                # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
-                # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
-             remote_md=`echo $remote_md | sed 's/\$HOME\///'`
-             /bin/scp  ${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
-          else
-             scp  ${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
-          fi
-
-
-
-             # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
-          echo "  *** untar previous update on remote host, if existing"
-          if [[ $remote_host != lctit ]]
-          then
-             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"
-          else
-                # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
-                # MIT SSH, DESHALB AUFRUF PER PIPE
-             print  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
-          fi
-
-
-             # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
-          echo "  *** untar actual sources on remote host"
-          if [[ $remote_host != lctit ]]
-          then
-             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"
-          else
-                # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
-                # MIT SSH, DESHALB AUFRUF PER PIPE
-             print  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
-          fi
-
-
-             # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
-             # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
-             # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
-             # Z.B. DIE PFADE ZUM COMPILER)
-          echo "  *** execute \"make\" on remote host"
-
-          if [[ $remote_host = nech ]]
-          then
-             make_call_string="sxmake  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
-          else
-             make_call_string="make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
-          fi
-
-          if [[ $remote_host = t3eh ]]
-          then
+
+                # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
+                # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
+             echo "  *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" "
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"  |  ssh ${remote_username}@${remote_addres}  2>&1
+             fi
+             if [[ $local_host = decalpha ]]
+             then
+                   # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTÄNDIGEN PFADES
+                   # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
+                   # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
+                remote_md=`echo $remote_md | sed 's/\$HOME\///'`
+                /bin/scp  ${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
+             else
+                scp  ${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
+             fi
+
+
+
+                # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
+             echo "  *** untar previous update on remote host, if existing"
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
+             fi
+
+
+                # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
+             echo "  *** untar actual sources on remote host"
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
+             fi
+
+
+                # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
+                # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
+                # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
+                # Z.B. DIE PFADE ZUM COMPILER)
+             echo "  *** execute \"make\" on remote host"
+
+             if [[ $remote_host = nech ]]
+             then
+                make_call_string="sxmake  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
+             else
+                make_call_string="make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
+             fi
+
+             if [[ $remote_host = t3eh ]]
+             then
        
-             print "xterm\nexit\n cd ${remote_md}; make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" " | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
-
-          elif [[ $remote_host = t3ej2  ||  $remote_host = ibms  ||  $remote_host = ibmy ]]
-          then
-
-             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; echo '$make_call_string' > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 2>&1 | tee ${remote_host}_last_make_protokoll
-
-          elif [[ $remote_host = ibmb  ||  $remote_host = ibmh ]]
-          then
-
-             print "export OBJECT_MODE=64; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
-
-          elif [[ $remote_host = lctit ]]
-          then
-
-             echo  " "  >  ${remote_host}_last_make_protokoll
-             while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
-             do
+                print "xterm\nexit\n cd ${remote_md}; make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" " | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
+
+             elif [[ $remote_host = t3ej2  ||  $remote_host = ibms  ||  $remote_host = ibmy ]]
+             then
+
+                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; echo '$make_call_string' > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 2>&1 | tee ${remote_host}_last_make_protokoll
+
+             elif [[ $remote_host = ibmb  ||  $remote_host = ibmh ]]
+             then
+
+                print "export OBJECT_MODE=64; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
+
+             elif [[ $remote_host = lctit ]]
+             then
+
+                echo  " "  >  ${remote_host}_last_make_protokoll
+                while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
+                do
+                   print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
+                done
+
+             else
+
                 print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
-             done
-
-          else
-
-             print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
-
-          fi
-
-          if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]
-          then
-             printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
-             if [[ $silent = false ]]
-             then
-                answer=dummy
-                printf "\n"
-                while [[ "$answer" != c  &&  "$answer" != k ]]
-                do
-                   printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
-                   read  answer
-                   if [[ "$answer" = l ]]
+
+             fi
+
+             if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]
+             then
+                printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
+                if [[ $silent = false ]]
+                then
+                   answer=dummy
+                   printf "\n"
+                   while [[ "$answer" != c  &&  "$answer" != k ]]
+                   do
+                      printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
+                      read  answer
+                      if [[ "$answer" = l ]]
+                      then
+                         more ${remote_host}_last_make_protokoll
+                      fi
+                   done
+                   if [[ $answer = k ]]
                    then
-                      more ${remote_host}_last_make_protokoll
+                      locat=user_abort; exit
                    fi
-                done
-                if [[ $answer = k ]]
-                then
-                   locat=user_abort; exit
                 fi
              fi
-          fi
-
-
-
-             # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
-          printf "\n  *** tar update on remote host ..."
-          if [[ $remote_host != lctit ]]
-          then
-             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  *.f90 *.o *.mod"
-          else
-                # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
-                # MIT SSH, DESHALB AUFRUF PER PIPE
-             print  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  *.f90 *.o *.mod"  |  ssh  ${remote_username}@${remote_addres}  2>&1
-          fi
-
-
-             # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
-#          printf "\n  *** \"make clean\" on remote host ..."
-#          ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile"
-#          printf "\n"
+
+
+
+                # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
+             printf "\n  *** tar update on remote host ..."
+             if [[ $remote_host != lctit ]]
+             then
+                ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  *.f90 *.o *.mod"
+             else
+                   # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS
+                   # MIT SSH, DESHALB AUFRUF PER PIPE
+                print  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  *.f90 *.o *.mod"  |  ssh  ${remote_username}@${remote_addres}  2>&1
+             fi
+
+
+                # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
+#             printf "\n  *** \"make clean\" on remote host ..."
+#             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile"
+#             printf "\n"
 
 
@@ -1269,5 +1277,5 @@
              # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
              # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
-          if [[ $compile_utility_programs = true ]]
+          elif [[ $compile_utility_programs = true ]]
           then
 
@@ -1361,41 +1369,44 @@
        else
 
-             # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN
-          echo " "
-          echo "  *** execute \"make\" on local host"
-
-          make  PROG=$mainprog  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"  2>&1 | tee ${remote_host}_last_make_protokoll
-
-          if [[ $? != 0 ]]
+          if [[ $compile_utility_programs = false ]]
           then
-             printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
-             if [[ $silent = false ]]
-             then
-                answer=dummy
-                printf "\n"
-                while [[ "$answer" != c  &&  "$answer" != k ]]
-                do
-                   printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
-                   read  answer
-                   if [[ "$answer" = l ]]
+
+                # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN
+             echo " "
+             echo "  *** execute \"make\" on local host"
+
+             make  PROG=$mainprog  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"  2>&1 | tee ${remote_host}_last_make_protokoll
+
+             if [[ $? != 0 ]]
+             then
+                printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
+                if [[ $silent = false ]]
+                then
+                   answer=dummy
+                   printf "\n"
+                   while [[ "$answer" != c  &&  "$answer" != k ]]
+                   do
+                      printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
+                      read  answer
+                      if [[ "$answer" = l ]]
+                      then
+                         more ${remote_host}_last_make_protokoll
+                      fi
+                   done
+                   if [[ $answer = k ]]
                    then
-                      more ${remote_host}_last_make_protokoll
+                      locat=user_abort; exit
                    fi
-                done
-                if [[ $answer = k ]]
-                then
-                   locat=user_abort; exit
                 fi
              fi
-          fi
-
-
-             # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN
-          printf "\n  *** tar update on local host ..."
-          tar -cf  ${mainprog}_current_version.tar  *.$suf *.o *.mod
+
+
+                # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN
+             printf "\n  *** tar update on local host ..."
+             tar -cf  ${mainprog}_current_version.tar  *.$suf *.o *.mod
 
 
              # COMPILE THE UTILITY PROGRAMS
-          if [[ $compile_utility_programs = true ]]
+          elif [[ $compile_utility_programs = true ]]
           then
              printf "\n\n"
