@ECHO OFF SET BASKET=C:\egs5 REM Usage: egs5run %1 , or , egs5run %1 %2 , or egs5run %1 %2 %3 REM (ex: egs5run ucsampl5 ucsampl5) REM %1.f: user code (ex: ucsampl5.f) REM %2.inp: pegs5 input (ex: ucsampl5.inp) REM %3.data: input data (optional) REM Usage 2: egs5run cl ...This is only for cleaning up. IF /i %cd% == %BASKET% ( Echo ERROR: egs5run can not be run from BASKET -- aborting. EXIT /B) REM == Delete previous files and links === RMDIR /q include pegscommons auxcommons data 2>null DEL egs5job.* fort.* pgs5job.* scp.dat 2>null IF "%1"=="cl" EXIT /B REM === User Code === IF "%1" =="" (ECHO User code must be specified as a first parameter ) ELSE IF NOT EXIST %1.f ECHO %1.f does not exist REM === pegs5 input === IF NOT "%2"=="" (SET r2=%2 ) ELSE IF EXIST %1.inp (SET r2=%1 ) ELSE (ECHO pegs5 input must be specified as a second parameter EXIT /B ) REM === egs5 input ex, CG data === IF NOT "%3"=="" (SET r3=%3) ELSE IF EXIST %1.data (SET r3=%1 ) ELSE IF EXIST %2.data (SET r3=%2) REM == Create egs5job.f etc === COPY %1.f+%BASKET%\egs\COPYRIGHT+%BASKET%\egs\*.f+%BASKET%\auxcode\*.f+%BASKET%\pegs\*.f egs5job.f > egs5job.err COPY %r2%.inp pgs5job.pegs5inp IF EXIST %r3%.data COPY %r3%.data egs5job.inp REM junction is replaced by mklink /J . mklink is available on Windows Vista, 7 and later. mklink /J include %BASKET%\include mklink /J pegscommons %BASKET%\pegscommons mklink /J auxcommons %BASKET%\auxcommons mklink /J data %BASKET%\data REM === Compile using g77 === (Delete "2> ...", to see error on screen.) g77 -o egs5job -O -fno-automatic egs5job.f 2> egs5job.err REM --- debug --- REM g77 -o egs5job -O -fno-automatic -ffortran-bounds-check -g egs5job.f 2>egs5job.error REM === Compile using gfortrsn === (Delete "2> ...", to see error on screen.) REM gfortran -o egs5job -O -fno-automatic egs5job.f 2> egs5job.err REM --- debug --- REM gfortran -o egs5job -O -fno-automatic -fbounds-check -g egs5job.f 2>egs5job.error REM === Compile using Lahey/Fujitsu fortran 95 (Ver.7.1) === REM lf95 egs5job.f -zero -nw -lst -sav -ignore:4084 2>egs5job.err REM --- debug --- REM lf95 egs5job.f -zero -nw -lst -sav -chkglobal -ignore:4084 2> egs5job.err REM === Compile using Intel Fortran ver9.0 === REM ifort egs5job.f /O2 /Qzero /Qsave 2> egs5job.err REM === Execute egs5job.exe === egs5job.exe REM === Delete links === RMDIR /q include pegscommons auxcommons data 2>null