Changeset 40 for palm/trunk/SCRIPTS
- Timestamp:
- Mar 2, 2007 6:32:25 AM (18 years ago)
- Location:
- palm/trunk/SCRIPTS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/.mrun.config.default
r36 r40 3 3 #---------------------------------------------------------------------------- 4 4 %mainprog palm.f90 5 #%base_directory $HOME/palm/current_version6 #%base_data ~/palm/current_version/JOBS7 #%source_path $base_directory/SOURCE5 %base_directory $HOME/palm/current_version 6 %base_data ~/palm/current_version/JOBS 7 %source_path $base_directory/trunk/SOURCE 8 8 %add_source_path $base_directory/USER_CODE/$fname 9 9 %depository_path $base_directory/MAKE_DEPOSITORY 10 10 %use_makefile true 11 11 # 12 %remote_username raaschlcmuk parallel12 #%remote_username <replace by your linux cluster username> lcmuk parallel 13 13 %tmp_user_catalog /tmp lcmuk parallel 14 14 %compiler_name mpif90 lcmuk parallel … … 18 18 #%hostfile $base_directory/.hostfile lcmuk parallel 19 19 # 20 %remote_username raaschlcmuk20 #%remote_username <replace by your linux cluster username> lcmuk 21 21 %tmp_user_catalog /tmp lcmuk 22 22 %compiler_name ifort lcmuk … … 24 24 %lopts -axW:-cpp:-r8:-nbs:-Vaxlib lcmuk 25 25 # 26 %remote_username raaschlcmuk trace26 #%remote_username <replace by your linux cluster username> lcmuk trace 27 27 %tmp_user_catalog /tmp lcmuk trace 28 28 %compiler_name ifort lcmuk trace … … 30 30 %lopts -axW:-cpp:-g:-CB:-inline_debug_info:-r8:-nbs:-Vaxlib lcmuk trace 31 31 # 32 #%remote_username <replace by your HLRN username> ibmh parallel 32 33 %compiler_name mpxlf95_r ibmh parallel 33 34 %compiler_name_ser xlf95 ibmh parallel … … 37 38 %cpumax 1000 ibmh parallel 38 39 %numprocs 4 ibmh parallel 39 %remote_username niksiraa ibmh parallel 40 %tmp_data_catalog /fastfs/work/niksiraa/palm_restart_data ibmh parallel 41 %tmp_user_catalog /fastfs/work/niksiraa ibmh parallel 42 %email_notification raasch@muk.uni-hannover.de ibmh parallel 43 # 40 #%tmp_data_catalog /fastfs/work/<replace by your HLRN username>/palm_restart_data ibmh parallel 41 #%email_notification <replace by your email addres> ibmh parallel 42 # 43 #%remote_username <replace by your HLRN username> ibmh parallel debug 44 44 %compiler_name mpxlf95_r ibmh parallel debug 45 45 %compiler_name_ser xlf95 ibmh parallel debug … … 49 49 %cpumax 1000 ibmh parallel debug 50 50 %numprocs 4 ibmh parallel debug 51 %remote_username niksiraa ibmh parallel debug 52 %tmp_data_catalog /fastfs/work/niksiraa/palm_restart_data ibmh parallel debug 53 # 54 %compiler_name mpxlf95_r ibmh parallel trace 55 %compiler_name_ser xlf95 ibmh parallel trace 56 %fopts -qnoopt:-g:-C:-qinitauto=FFFFFFFF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide::invalid::enable:-qsigtrap ibmh parallel trace 57 %lopts -qnoopt:-g:-C:-qinitauto=FFFFFFFF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide::invalid::enable:-qsigtrap:-lesslsmp ibmh parallel trace 58 %memory 1000 ibmh parallel trace 59 %cpumax 1000 ibmh parallel trace 60 %numprocs 4 ibmh parallel trace 61 %remote_username niksiraa ibmh parallel trace 62 %tmp_data_catalog /fastfs/work/niksiraa/palm_restart_data ibmh parallel trace 63 # 64 %compiler_name mpxlf95_r ibmh parallel hpmcount 65 %compiler_name_ser xlf95 ibmh parallel hpmcount 66 %fopts -O3:-g:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:-qsmp=omp:-qarch=pwr4:-qnosave:-qnoescape ibmh parallel hpmcount 67 %lopts -O3:-g:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:-qsmp=omp:-qarch=pwr4:-qnosave:-qnoescape:-lesslsmp ibmh parallel hpmcount 68 %memory 1000 ibmh parallel hpmcount 69 %cpumax 1000 ibmh parallel hpmcount 70 %numprocs 4 ibmh parallel hpmcount 71 %remote_username niksiraa ibmh parallel hpmcount 72 %tmp_data_catalog /fastfs/work/niksiraa/palm_restart_data ibmh parallel hpmcount 73 %email_notification raasch@muk.uni-hannover.de ibmh parallel hpmcount 74 # 51 #%tmp_data_catalog /fastfs/work/<replace by your HLRN username>/palm_restart_data ibmh parallel debug 52 # 53 #%remote_username <replace by your HLRN username> ibmb parallel 75 54 %compiler_name mpxlf95_r ibmb parallel 76 55 %compiler_name_ser xlf95 ibmb parallel … … 80 59 %cpumax 1000 ibmb parallel 81 60 %numprocs 4 ibmb parallel 82 %remote_username niksiraa ibmb parallel 83 %tmp_data_catalog /fastfs/work/niksiraa/palm_restart_data ibmb parallel 84 # 85 %compiler_name mpxlf95_r ibmb parallel deb 86 %compiler_name_ser xlf95 ibmb parallel deb 87 %fopts -qnoopt:-g:-C:-qinitauto=FFFFFFFF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide::invalid::enable:-qsigtrap ibmb parallel deb 88 %lopts -qnoopt:-g:-C:-qinitauto=FFFFFFFF:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qnosave:-qnoescape:-qflttrap=overflow::zerodivide::invalid::enable:-qsigtrap:-lesslsmp ibmb parallel deb 89 %memory 1000 ibmb parallel deb 90 %cpumax 1000 ibmb parallel deb 91 %numprocs 4 ibmb parallel deb 92 %remote_username niksiraa ibmb parallel deb 93 %tmp_data_catalog /fastfs/work/niksiraa/palm_restart_data ibmb parallel deb 94 # 61 #%tmp_data_catalog /fastfs/work/<replace by your HLRN username>/palm_restart_data ibmh parallel debug 62 # 63 #%remote_username <replace by your DKRZ username> nech parallel 95 64 %compiler_name sxmpif90 nech parallel 96 65 %compiler_name_ser sxf90 nech parallel … … 101 70 %numprocs 4 nech parallel 102 71 %tmp_data_catalog $WRKSHR/palm_restart_data nech parallel 103 %remote_username b323011nech parallel104 %email_notification raasch@muk.uni-hannover.de nech parallel 105 # 72 #%email_notification <replace by your email addres> nech parallel 73 # 74 #%remote_username <replace by your NEC-username> neck parallel 106 75 %compiler_name sxmpif90 neck parallel 107 76 %compiler_name_ser sxf90 neck parallel … … 111 80 %cpumax 1000 neck parallel 112 81 %numprocs 4 neck parallel 113 #%tmp_user_catalog <replace by your temporary directory> neck parallel 114 #%tmp_data_catalog <replace by your temp. dir.> /palm_restart_data neck parallel 115 #%remote_username <replace by your NEC-username> neck parallel 116 #%email_notification tatuyama@gelgoog neck parallel 117 # 118 %remote_username raasch decalpha parallel 119 %tmp_user_catalog /usr2/users/raasch/work decalpha parallel 120 %tmp_data_catalog /usr2/users/raasch/work/palm_restart_data decalpha parallel 121 %compiler_name f95 decalpha parallel 122 %fopts -fast:-r8 decalpha parallel 123 %lopts -fast:-r8:-lfmpi:-lmpi decalpha parallel 124 %memory 100 decalpha parallel 125 %cpumax 100 decalpha parallel 126 # 127 %source_path /edun/z051nyg/palm/current_version/SOURCE ibms parallel 128 %compiler_name mpxlf95_r ibms parallel 129 %compiler_name_ser xlf95 ibms parallel 130 %fopts -O3:-g:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:-qsmp=omp:-qarch=pwr4:-qnosave:-qnoescape ibms parallel 131 %lopts -O3:-g:-qrealsize=8:-Q:-q64:-qmaxmem=-1:-qtune=pwr4:-qsmp=omp:-qarch=pwr4:-qnosave:-qnoescape:-lesslsmp ibms parallel 132 %memory 1000 ibms parallel 133 %cpumax 1000 ibms parallel 134 %numprocs 4 ibms parallel 135 %remote_username z051nyg ibms parallel 136 %tmp_data_catalog /edun/z051nyg/work ibms parallel 137 %tmp_user_catalog /edun/z051nyg/work ibms parallel 138 #%tmp_data_catalog /xtmp1 ibms parallel 139 #%tmp_user_catalog /xtmp1 ibms parallel 140 %email_notification raasch@muk.uni-hannover.de ibms parallel 82 #%tmp_user_catalog <replace by your temporary directory> neck parallel 83 #%tmp_data_catalog <replace by your temp. dir.>/palm_restart_data neck parallel 141 84 # 142 85 %source_path $base_directory/SOURCE ibmy parallel -
palm/trunk/SCRIPTS/mbuild
r35 r40 1 1 #!/bin/ksh 2 # mbuild - Programmuebersetzungsscript Version: @(#)MBUILD 1.0 28/02/072 # mbuild - Programmuebersetzungsscript Version: @(#)MBUILD 1.0 02/03/07 3 3 4 4 # Prozedur zur Uebersetzung von Programmteilen mittels make-Mechanismus … … 79 79 # 07/02/07 - Siggi - adapted for RIAM (neck) 80 80 # 10/02/07 - Siggi - all hpmuk-related code removed 81 # 28/02/07 - Siggi - compilation of utility programs and transfer of81 # 02/03/07 - Siggi - compilation of utility programs and transfer of 82 82 # scripts to remote hosts added (option -u) 83 83 … … 359 359 360 360 361 cd $local_source_path 362 363 364 # LISTE DER ZU PRUEFENDEN QUELLTEXTDATEIEN ERSTELLEN 365 source_code_files=`ls -1 *.$suf` 366 367 368 369 # VERZEICHNIS FUER DAS MAKE-DEPOSITORY ERZEUGEN, 370 # FALLS NOCH NICHT VORHANDEN. ANSONSTEN ALLE DATEIEN 371 # NEUEREN DATUMS IN DIESES VERZEICHNIS KOPIEREN 372 if [[ ! -d $local_depository_path ]] 361 if [[ $compile_utility_programs = false ]] 373 362 then 374 if mkdir $local_depository_path 375 then 376 printf "\n\n *** directory for make depository:" 377 printf "\n $local_depository_path" 378 printf "\n was created\n" 379 380 # MAKEFILE UND QUELLTEXTDATEIEN UNTER BEIBEHALTUNG 381 # IHRES DATUMS INS VERZEICHNIS KOPIEREN 382 printf "\n *** makefile and source code files are copied to" 383 printf "\n $local_depository_path\n" 384 printf "\n copying makefile \"$makefile\" ..." 385 cp -p $makefile $local_depository_path/Makefile 386 387 # QUELLTEXTDATEIEN MUESSEN IM MAKEFILE AUFGEFUEHRT 388 # SEIN 363 364 cd $local_source_path 365 366 367 # LISTE DER ZU PRUEFENDEN QUELLTEXTDATEIEN ERSTELLEN 368 source_code_files=`ls -1 *.$suf` 369 370 371 372 # VERZEICHNIS FUER DAS MAKE-DEPOSITORY ERZEUGEN, 373 # FALLS NOCH NICHT VORHANDEN. ANSONSTEN ALLE DATEIEN 374 # NEUEREN DATUMS IN DIESES VERZEICHNIS KOPIEREN 375 if [[ ! -d $local_depository_path ]] 376 then 377 if mkdir $local_depository_path 378 then 379 printf "\n\n *** directory for make depository:" 380 printf "\n $local_depository_path" 381 printf "\n was created\n" 382 383 # MAKEFILE UND QUELLTEXTDATEIEN UNTER BEIBEHALTUNG 384 # IHRES DATUMS INS VERZEICHNIS KOPIEREN 385 printf "\n *** makefile and source code files are copied to" 386 printf "\n $local_depository_path\n" 387 printf "\n copying makefile \"$makefile\" ..." 388 cp -p $makefile $local_depository_path/Makefile 389 390 # QUELLTEXTDATEIEN MUESSEN IM MAKEFILE AUFGEFUEHRT 391 # SEIN 392 for filename in $source_code_files 393 do 394 if [[ $(grep -c $filename $makefile) = 0 ]] 395 then 396 printf "\n +++ source code file:" 397 printf "\n $filename" 398 printf "\n is not listed in makefile" 399 locat=makefile; exit 400 else 401 printf "\n copying source code file \"$filename\" ..." 402 cp -p $filename $local_depository_path 403 fi 404 done 405 printf "\n" 406 else 407 printf "\n +++ directory for make depository:" 408 printf "\n $local_depository_path" 409 printf "\n cannot be created" 410 locat=local_depository_path; exit 411 fi 412 else 413 414 printf "\n *** checking file status ..." 415 416 # MAKEFILE KOPIEREN, FALLS NEUEREN DATUMS 417 if [[ $makefile -nt $local_depository_path/Makefile ]] 418 then 419 printf "\n *** update of \"$makefile\" " 420 cp -f -p $makefile $local_depository_path/Makefile 421 update=true 422 423 # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY AUCH IM NEUEN MAKEFILE 424 # VERZEICHNET SIND UND GEGEBENENFALLS DATEIEN LOESCHEN 425 cd $local_depository_path 426 source_code_files_in_depository=`ls -1 *.$suf` 427 for filename in $source_code_files_in_depository 428 do 429 if [[ $(grep -c $filename Makefile) = 0 ]] 430 then 431 printf "\n *** source code file in \"$local_depository_path\":" 432 printf "\n $filename" 433 printf "\n is not listed in makefile" 434 if [[ $silent = false ]] 435 then 436 answer=dummy 437 printf "\n\n" 438 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 439 do 440 printf " >>> delete \"$filename\" in \"$local_depository_path\" (y/n) ? " 441 read answer 442 done 443 if [[ $answer = y || $answer = Y ]] 444 then 445 base=`echo $filename | cut -d. -f2` 446 rm -f $filename 447 rm -f ${base}.o ${base}.mod 448 printf "\n *** \"$filename\" deleted in \"$local_depository_path\" " 449 else 450 printf "\n *** \"$filename\" not deleted in \"$local_depository_path\" " 451 fi 452 fi 453 fi 454 done 455 cd - > /dev/null 2>&1 456 457 elif [[ $local_depository_path/Makefile -nt $makefile ]] 458 then 459 printf "\n *** makefile in depository is newer than" 460 printf "\n \"$makefile\" " 461 if [[ $silent = false ]] 462 then 463 answer=dummy 464 printf "\n\n" 465 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 466 do 467 printf " >>> update \"$makefile\" (y/n) ? " 468 read answer 469 done 470 if [[ $answer = y || $answer = Y ]] 471 then 472 cp -f -p $local_depository_path/Makefile $makefile 473 printf "\n *** \"$makefile\" updated" 474 else 475 printf "\n *** \"$makefile\" not updated" 476 fi 477 fi 478 fi 479 480 # QUELLTEXTDATEIEN KOPIEREN, FALLS NEUEREN DATUMS 481 # SIE MUESSEN IM MAKEFILE AUFGEFUEHRT SEIN 389 482 for filename in $source_code_files 390 483 do … … 396 489 locat=makefile; exit 397 490 else 398 printf "\n copying source code file \"$filename\" ..." 399 cp -p $filename $local_depository_path 491 if [[ ! -f $local_depository_path/$filename ]] 492 then 493 cp -p $filename $local_depository_path 494 printf "\n *** source code file \"$filename\" created in \"$local_depository_path\" " 495 fi 496 if [[ $filename -nt $local_depository_path/$filename ]] 497 then 498 printf "\n *** update of source code file \"$filename\" " 499 cp -f -p $filename $local_depository_path 500 update=true 501 fi 400 502 fi 401 503 done 402 printf "\n" 403 else 404 printf "\n +++ directory for make depository:" 405 printf "\n $local_depository_path" 406 printf "\n cannot be created" 407 locat=local_depository_path; exit 408 fi 409 else 410 411 printf "\n *** checking file status ..." 412 413 # MAKEFILE KOPIEREN, FALLS NEUEREN DATUMS 414 if [[ $makefile -nt $local_depository_path/Makefile ]] 415 then 416 printf "\n *** update of \"$makefile\" " 417 cp -f -p $makefile $local_depository_path/Makefile 418 update=true 419 420 # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY AUCH IM NEUEN MAKEFILE 421 # VERZEICHNET SIND UND GEGEBENENFALLS DATEIEN LOESCHEN 504 505 506 # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY IM AKTUELLEN ARBEITSVERZEICHNIS VORHANDEN 507 # ODER EVTL. NEUEREN DATUMS SIND 422 508 cd $local_depository_path 423 509 source_code_files_in_depository=`ls -1 *.$suf` 510 cd - > /dev/null 2>&1 424 511 for filename in $source_code_files_in_depository 425 512 do 426 if [[ $(grep -c $filename Makefile) = 0]]513 if [[ ! -f $filename ]] 427 514 then 428 printf "\n *** source code file in \"$local_depository_path\":" 429 printf "\n $filename" 430 printf "\n is not listed in makefile" 515 printf "\n *** source code file \"$filename\" does not exist in current directory" 431 516 if [[ $silent = false ]] 432 517 then … … 435 520 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 436 521 do 437 printf " >>> delete \"$filename\" in \"$local_depository_path\"(y/n) ? "522 printf " >>> create \"$filename\" in current directory (y/n) ? " 438 523 read answer 439 524 done 440 525 if [[ $answer = y || $answer = Y ]] 441 526 then 442 base=`echo $filename | cut -d. -f2` 443 rm -f $filename 444 rm -f ${base}.o ${base}.mod 445 printf "\n *** \"$filename\" deleted in \"$local_depository_path\" " 527 cp -p $local_depository_path/$filename $filename 528 printf "\n *** source code file \"$filename\" created in current directory" 446 529 else 447 printf "\n *** \"$filename\" not deleted in \"$local_depository_path\" " 530 printf "\n *** source code file \"$filename\" not created in current directory" 531 fi 532 fi 533 elif [[ $local_depository_path/$filename -nt $filename ]] 534 then 535 ls -al $local_depository_path/$filename 536 ls -al $filename 537 printf "\n *** source code file \"$filename\" in depository is newer than in current directory" 538 if [[ $silent = false ]] 539 then 540 answer=dummy 541 printf "\n\n" 542 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 543 do 544 printf " >>> update \"$filename\" in current directory (y/n) ? " 545 read answer 546 done 547 if [[ $answer = y || $answer = Y ]] 548 then 549 cp -f -p $local_depository_path/$filename $filename 550 printf "\n *** source code file \"$filename\" updated in current directory" 551 else 552 printf "\n *** source code file \"$filename\" not updated in current directory" 448 553 fi 449 554 fi 450 555 fi 451 556 done 452 cd - > /dev/null 2>&1 453 454 elif [[ $local_depository_path/Makefile -nt $makefile ]] 455 then 456 printf "\n *** makefile in depository is newer than" 457 printf "\n \"$makefile\" " 458 if [[ $silent = false ]] 459 then 460 answer=dummy 461 printf "\n\n" 462 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 463 do 464 printf " >>> update \"$makefile\" (y/n) ? " 465 read answer 466 done 467 if [[ $answer = y || $answer = Y ]] 468 then 469 cp -f -p $local_depository_path/Makefile $makefile 470 printf "\n *** \"$makefile\" updated" 471 else 472 printf "\n *** \"$makefile\" not updated" 473 fi 474 fi 475 fi 476 477 # QUELLTEXTDATEIEN KOPIEREN, FALLS NEUEREN DATUMS 478 # SIE MUESSEN IM MAKEFILE AUFGEFUEHRT SEIN 479 for filename in $source_code_files 480 do 481 if [[ $(grep -c $filename $makefile) = 0 ]] 482 then 483 printf "\n +++ source code file:" 484 printf "\n $filename" 485 printf "\n is not listed in makefile" 486 locat=makefile; exit 487 else 488 if [[ ! -f $local_depository_path/$filename ]] 489 then 490 cp -p $filename $local_depository_path 491 printf "\n *** source code file \"$filename\" created in \"$local_depository_path\" " 492 fi 493 if [[ $filename -nt $local_depository_path/$filename ]] 494 then 495 printf "\n *** update of source code file \"$filename\" " 496 cp -f -p $filename $local_depository_path 497 update=true 498 fi 499 fi 500 done 501 502 503 # PRUEFEN, OB ALLE DATEIEN IM DEPOSITORY IM AKTUELLEN ARBEITSVERZEICHNIS VORHANDEN 504 # ODER EVTL. NEUEREN DATUMS SIND 505 cd $local_depository_path 506 source_code_files_in_depository=`ls -1 *.$suf` 507 cd - > /dev/null 2>&1 508 for filename in $source_code_files_in_depository 509 do 510 if [[ ! -f $filename ]] 511 then 512 printf "\n *** source code file \"$filename\" does not exist in current directory" 557 558 if [[ $update = false ]] 559 then 560 printf "\n *** no updates necessary in \"$local_depository_path\" " 513 561 if [[ $silent = false ]] 514 562 then … … 517 565 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 518 566 do 519 printf " >>> c reate \"$filename\" in current directory(y/n) ? "567 printf " >>> continue with updates on remote hosts (y/n) ? " 520 568 read answer 521 569 done 522 if [[ $answer = y || $answer = Y ]] 523 then 524 cp -p $local_depository_path/$filename $filename 525 printf "\n *** source code file \"$filename\" created in current directory" 526 else 527 printf "\n *** source code file \"$filename\" not created in current directory" 570 if [[ $answer = n || $answer = N ]] 571 then 572 locat=user_abort; exit 528 573 fi 529 574 fi 530 elif [[ $local_depository_path/$filename -nt $filename ]] 531 then 532 ls -al $local_depository_path/$filename 533 ls -al $filename 534 printf "\n *** source code file \"$filename\" in depository is newer than in current directory" 535 if [[ $silent = false ]] 536 then 537 answer=dummy 538 printf "\n\n" 539 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 540 do 541 printf " >>> update \"$filename\" in current directory (y/n) ? " 542 read answer 543 done 544 if [[ $answer = y || $answer = Y ]] 545 then 546 cp -f -p $local_depository_path/$filename $filename 547 printf "\n *** source code file \"$filename\" updated in current directory" 548 else 549 printf "\n *** source code file \"$filename\" not updated in current directory" 550 fi 551 fi 552 fi 553 done 554 555 if [[ $update = false ]] 556 then 557 printf "\n *** no updates necessary in \"$local_depository_path\" " 558 if [[ $silent = false ]] 559 then 560 answer=dummy 561 printf "\n\n" 562 while [[ "$answer" != y && "$answer" != Y && "$answer" != n && "$answer" != N ]] 563 do 564 printf " >>> continue with updates on remote hosts (y/n) ? " 565 read answer 566 done 567 if [[ $answer = n || $answer = N ]] 568 then 569 locat=user_abort; exit 570 fi 571 fi 572 fi 575 fi 576 fi 577 578 579 580 # QUELLTEXTDATEIEN UND MAKEFILE MIT TAR ZUSAMMENBINDEN 581 # IN JEDEM FALL ALLEN DATEIEN WRITE-PERMIT GEBEN, DAMIT ES AUF 582 # DEN REMOTE-RECHNERN NICHT EVTL. ZU PROBLEMEN BEIM UEBERSCHREIBEN KOMMT 583 printf "\n\n *** tar of makefile and source files in depository ..." 584 cd $local_depository_path 585 chmod u+w Makefile *.$suf 586 tar -cf ${mainprog}_sources.tar Makefile *.$suf 587 printf "\n" 588 573 589 fi 574 575 576 577 # QUELLTEXTDATEIEN UND MAKEFILE MIT TAR ZUSAMMENBINDEN578 # IN JEDEM FALL ALLEN DATEIEN WRITE-PERMIT GEBEN, DAMIT ES AUF579 # DEN REMOTE-RECHNERN NICHT EVTL. ZU PROBLEMEN BEIM UEBERSCHREIBEN KOMMT580 printf "\n\n *** tar of makefile and source files in depository ..."581 cd $local_depository_path582 chmod u+w Makefile *.$suf583 tar -cf ${mainprog}_sources.tar Makefile *.$suf584 printf "\n"585 590 586 591 … … 1130 1135 then 1131 1136 1132 # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN 1133 # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT 1134 echo " *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" " 1135 if [[ $remote_host != lctit ]] 1137 if [[ $compile_utility_programs = false ]] 1136 1138 then 1137 ssh ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]] && (echo \" *** ${remote_md} will be created\"; mkdir -p ${remote_md})" 1138 else 1139 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS 1140 # MIT SSH, DESHALB AUFRUF PER PIPE 1141 print "[[ ! -d ${remote_md} ]] && (echo \" *** ${remote_md} will be created\"; mkdir -p ${remote_md})" | ssh ${remote_username}@${remote_addres} 2>&1 1142 fi 1143 if [[ $local_host = decalpha ]] 1144 then 1145 # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTÄNDIGEN PFADES 1146 # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM 1147 # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN 1148 remote_md=`echo $remote_md | sed 's/\$HOME\///'` 1149 /bin/scp ${mainprog}_sources.tar ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar 1150 else 1151 scp ${mainprog}_sources.tar ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar 1152 fi 1153 1154 1155 1156 # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN 1157 echo " *** untar previous update on remote host, if existing" 1158 if [[ $remote_host != lctit ]] 1159 then 1160 ssh ${remote_username}@${remote_addres} "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]] && tar -xf ${mainprog}_current_version.tar" 1161 else 1162 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS 1163 # MIT SSH, DESHALB AUFRUF PER PIPE 1164 print "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]] && tar -xf ${mainprog}_current_version.tar" | ssh ${remote_username}@${remote_addres} 2>&1 1165 fi 1166 1167 1168 # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN 1169 echo " *** untar actual sources on remote host" 1170 if [[ $remote_host != lctit ]] 1171 then 1172 ssh ${remote_username}@${remote_addres} "cd ${remote_md}; tar -xf ${mainprog}_sources.tar" 1173 else 1174 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS 1175 # MIT SSH, DESHALB AUFRUF PER PIPE 1176 print "cd ${remote_md}; tar -xf ${mainprog}_sources.tar" | ssh ${remote_username}@${remote_addres} 2>&1 1177 fi 1178 1179 1180 # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN 1181 # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND 1182 # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE 1183 # Z.B. DIE PFADE ZUM COMPILER) 1184 echo " *** execute \"make\" on remote host" 1185 1186 if [[ $remote_host = nech ]] 1187 then 1188 make_call_string="sxmake PROG=$mainprog F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$compiler_options\" LDFLAGS=\"$loader_options\" " 1189 else 1190 make_call_string="make PROG=$mainprog F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$compiler_options\" LDFLAGS=\"$loader_options\" " 1191 fi 1192 1193 if [[ $remote_host = t3eh ]] 1194 then 1139 1140 # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN 1141 # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT 1142 echo " *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" " 1143 if [[ $remote_host != lctit ]] 1144 then 1145 ssh ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]] && (echo \" *** ${remote_md} will be created\"; mkdir -p ${remote_md})" 1146 else 1147 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS 1148 # MIT SSH, DESHALB AUFRUF PER PIPE 1149 print "[[ ! -d ${remote_md} ]] && (echo \" *** ${remote_md} will be created\"; mkdir -p ${remote_md})" | ssh ${remote_username}@${remote_addres} 2>&1 1150 fi 1151 if [[ $local_host = decalpha ]] 1152 then 1153 # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTÄNDIGEN PFADES 1154 # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM 1155 # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN 1156 remote_md=`echo $remote_md | sed 's/\$HOME\///'` 1157 /bin/scp ${mainprog}_sources.tar ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar 1158 else 1159 scp ${mainprog}_sources.tar ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar 1160 fi 1161 1162 1163 1164 # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN 1165 echo " *** untar previous update on remote host, if existing" 1166 if [[ $remote_host != lctit ]] 1167 then 1168 ssh ${remote_username}@${remote_addres} "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]] && tar -xf ${mainprog}_current_version.tar" 1169 else 1170 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS 1171 # MIT SSH, DESHALB AUFRUF PER PIPE 1172 print "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]] && tar -xf ${mainprog}_current_version.tar" | ssh ${remote_username}@${remote_addres} 2>&1 1173 fi 1174 1175 1176 # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN 1177 echo " *** untar actual sources on remote host" 1178 if [[ $remote_host != lctit ]] 1179 then 1180 ssh ${remote_username}@${remote_addres} "cd ${remote_md}; tar -xf ${mainprog}_sources.tar" 1181 else 1182 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS 1183 # MIT SSH, DESHALB AUFRUF PER PIPE 1184 print "cd ${remote_md}; tar -xf ${mainprog}_sources.tar" | ssh ${remote_username}@${remote_addres} 2>&1 1185 fi 1186 1187 1188 # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN 1189 # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND 1190 # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE 1191 # Z.B. DIE PFADE ZUM COMPILER) 1192 echo " *** execute \"make\" on remote host" 1193 1194 if [[ $remote_host = nech ]] 1195 then 1196 make_call_string="sxmake PROG=$mainprog F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$compiler_options\" LDFLAGS=\"$loader_options\" " 1197 else 1198 make_call_string="make PROG=$mainprog F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$compiler_options\" LDFLAGS=\"$loader_options\" " 1199 fi 1200 1201 if [[ $remote_host = t3eh ]] 1202 then 1195 1203 1196 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 1197 1198 elif [[ $remote_host = t3ej2 || $remote_host = ibms || $remote_host = ibmy ]] 1199 then 1200 1201 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 1202 1203 elif [[ $remote_host = ibmb || $remote_host = ibmh ]] 1204 then 1205 1206 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 1207 1208 elif [[ $remote_host = lctit ]] 1209 then 1210 1211 echo " " > ${remote_host}_last_make_protokoll 1212 while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]] 1213 do 1204 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 1205 1206 elif [[ $remote_host = t3ej2 || $remote_host = ibms || $remote_host = ibmy ]] 1207 then 1208 1209 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 1210 1211 elif [[ $remote_host = ibmb || $remote_host = ibmh ]] 1212 then 1213 1214 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 1215 1216 elif [[ $remote_host = lctit ]] 1217 then 1218 1219 echo " " > ${remote_host}_last_make_protokoll 1220 while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]] 1221 do 1222 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 1223 done 1224 1225 else 1226 1214 1227 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 1215 done 1216 1217 else 1218 1219 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_protokoll1220 1221 fi1222 1223 if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]1224 then1225 printf "\a\n +++ error(s) occurred during compiling or linking on host \"$remote_host\" "1226 if [[ $silent = false ]]1227 then1228 answer=dummy1229 printf "\n"1230 while [[ "$answer" != c && "$answer" != k ]]1231 do1232 printf " >>> continue / list errors / kill mbuild (c/l/k) ? "1233 read answer1234 if [[ "$answer" = l]]1228 1229 fi 1230 1231 if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]] 1232 then 1233 printf "\a\n +++ error(s) occurred during compiling or linking on host \"$remote_host\" " 1234 if [[ $silent = false ]] 1235 then 1236 answer=dummy 1237 printf "\n" 1238 while [[ "$answer" != c && "$answer" != k ]] 1239 do 1240 printf " >>> continue / list errors / kill mbuild (c/l/k) ? " 1241 read answer 1242 if [[ "$answer" = l ]] 1243 then 1244 more ${remote_host}_last_make_protokoll 1245 fi 1246 done 1247 if [[ $answer = k ]] 1235 1248 then 1236 more ${remote_host}_last_make_protokoll1249 locat=user_abort; exit 1237 1250 fi 1238 done1239 if [[ $answer = k ]]1240 then1241 locat=user_abort; exit1242 1251 fi 1243 1252 fi 1244 fi 1245 1246 1247 1248 # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN 1249 printf "\n *** tar update on remote host ..." 1250 if [[ $remote_host != lctit ]] 1251 then 1252 ssh ${remote_username}@${remote_addres} "cd ${remote_md}; chmod u+w *; tar -cf ${mainprog}_current_version.tar *.f90 *.o *.mod" 1253 else 1254 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS 1255 # MIT SSH, DESHALB AUFRUF PER PIPE 1256 print "cd ${remote_md}; chmod u+w *; tar -cf ${mainprog}_current_version.tar *.f90 *.o *.mod" | ssh ${remote_username}@${remote_addres} 2>&1 1257 fi 1258 1259 1260 # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN 1261 # printf "\n *** \"make clean\" on remote host ..." 1262 # ssh ${remote_username}@${remote_addres} "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile" 1263 # printf "\n" 1253 1254 1255 1256 # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN 1257 printf "\n *** tar update on remote host ..." 1258 if [[ $remote_host != lctit ]] 1259 then 1260 ssh ${remote_username}@${remote_addres} "cd ${remote_md}; chmod u+w *; tar -cf ${mainprog}_current_version.tar *.f90 *.o *.mod" 1261 else 1262 # TIT ERLAUBT NUR DIE AUSFÜHRUNG GANZ BESTIMMTER KOMMANDOS 1263 # MIT SSH, DESHALB AUFRUF PER PIPE 1264 print "cd ${remote_md}; chmod u+w *; tar -cf ${mainprog}_current_version.tar *.f90 *.o *.mod" | ssh ${remote_username}@${remote_addres} 2>&1 1265 fi 1266 1267 1268 # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN 1269 # printf "\n *** \"make clean\" on remote host ..." 1270 # ssh ${remote_username}@${remote_addres} "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile" 1271 # printf "\n" 1264 1272 1265 1273 … … 1269 1277 # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN 1270 1278 # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT 1271 if [[ $compile_utility_programs = true ]]1279 elif [[ $compile_utility_programs = true ]] 1272 1280 then 1273 1281 … … 1361 1369 else 1362 1370 1363 # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN 1364 echo " " 1365 echo " *** execute \"make\" on local host" 1366 1367 make PROG=$mainprog F90=$compiler_name COPT="$cpp_options" F90FLAGS="$compiler_options" LDFLAGS="$loader_options" 2>&1 | tee ${remote_host}_last_make_protokoll 1368 1369 if [[ $? != 0 ]] 1371 if [[ $compile_utility_programs = false ]] 1370 1372 then 1371 printf "\a\n +++ error(s) occurred during compiling or linking on host \"$remote_host\" " 1372 if [[ $silent = false ]] 1373 then 1374 answer=dummy 1375 printf "\n" 1376 while [[ "$answer" != c && "$answer" != k ]] 1377 do 1378 printf " >>> continue / list errors / kill mbuild (c/l/k) ? " 1379 read answer 1380 if [[ "$answer" = l ]] 1373 1374 # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN 1375 echo " " 1376 echo " *** execute \"make\" on local host" 1377 1378 make PROG=$mainprog F90=$compiler_name COPT="$cpp_options" F90FLAGS="$compiler_options" LDFLAGS="$loader_options" 2>&1 | tee ${remote_host}_last_make_protokoll 1379 1380 if [[ $? != 0 ]] 1381 then 1382 printf "\a\n +++ error(s) occurred during compiling or linking on host \"$remote_host\" " 1383 if [[ $silent = false ]] 1384 then 1385 answer=dummy 1386 printf "\n" 1387 while [[ "$answer" != c && "$answer" != k ]] 1388 do 1389 printf " >>> continue / list errors / kill mbuild (c/l/k) ? " 1390 read answer 1391 if [[ "$answer" = l ]] 1392 then 1393 more ${remote_host}_last_make_protokoll 1394 fi 1395 done 1396 if [[ $answer = k ]] 1381 1397 then 1382 more ${remote_host}_last_make_protokoll1398 locat=user_abort; exit 1383 1399 fi 1384 done1385 if [[ $answer = k ]]1386 then1387 locat=user_abort; exit1388 1400 fi 1389 1401 fi 1390 fi 1391 1392 1393 # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN 1394 printf "\n *** tar update on local host ..." 1395 tar -cf ${mainprog}_current_version.tar *.$suf *.o *.mod 1402 1403 1404 # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN 1405 printf "\n *** tar update on local host ..." 1406 tar -cf ${mainprog}_current_version.tar *.$suf *.o *.mod 1396 1407 1397 1408 1398 1409 # COMPILE THE UTILITY PROGRAMS 1399 if [[ $compile_utility_programs = true ]]1410 elif [[ $compile_utility_programs = true ]] 1400 1411 then 1401 1412 printf "\n\n"
Note: See TracChangeset
for help on using the changeset viewer.