Adding a simpler way of generating files for new genotypes (see EO.tpl
in EASEA).
This commit is contained in:
parent
06ac548f96
commit
61f9b51243
3 changed files with 338 additions and 0 deletions
58
eo/tutorial/Templates/createSimple
Executable file
58
eo/tutorial/Templates/createSimple
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
#! /bin/tcsh -f
|
||||
if ($PWD:t != Templates) then
|
||||
echo You must be in the Template dir to run that script
|
||||
exit
|
||||
endif
|
||||
|
||||
if ($#argv < 1) then
|
||||
echo "Usage $0 ApplicationName [TargetDirName]"
|
||||
echo " will create ../TargetDirName if necessary"
|
||||
echo " (default dir name = ApplicationName),"
|
||||
echo " and will put there all files that are strictly necessary"
|
||||
echo " to compile and run you Application from there"
|
||||
exit
|
||||
endif
|
||||
|
||||
echo " " # we're going to do something
|
||||
|
||||
if ($#argv == 1) then
|
||||
set TargetDir = ../$1
|
||||
else
|
||||
set TargetDir = ../$2
|
||||
endif
|
||||
|
||||
if (! -e $TargetDir) then
|
||||
mkdir $TargetDir
|
||||
endif
|
||||
|
||||
if ( (-f $TargetDir/eo$1.h) || (-f $TargetDir/eo$1Init.h) || (-f $TargetDir/eo$1EvalFunc.h) || (-f $TargetDir/eo$1Mutation.h) || (-f $TargetDir/eo$1QuadCrossover.h) || (-f $TargetDir/$1EA.cpp) || (-f $TargetDir/make_genotype_$1.h) || (-f $TargetDir/make_op_$1.h) ) then
|
||||
echo WARNING: some files already exist there.
|
||||
echo -n "Overwrite ALL (yes/no)? "
|
||||
set REP = $<
|
||||
if ($REP != "yes") then
|
||||
echo Nothing done!
|
||||
exit
|
||||
endif
|
||||
endif
|
||||
|
||||
if (-f $TargetDir/Makefile) then
|
||||
echo A Makefile already exists there.
|
||||
echo I'm creating Makefile.$1. You'll have to merge them both,
|
||||
echo OR to call make -f Makefile.$1
|
||||
set MakeName = Makefile.$1
|
||||
else
|
||||
set MakeName = Makefile
|
||||
endif
|
||||
|
||||
echo Creating source files for application $1 in $TargetDir/
|
||||
|
||||
sed s/MyStruct/$1/g eoMyStruct.tmpl > $TargetDir/eo$1.h
|
||||
sed s/MyStruct/$1/g init.tmpl > $TargetDir/eo$1Init.h
|
||||
sed s/MyStruct/$1/g evalFunc.tmpl > $TargetDir/eo$1EvalFunc.h
|
||||
sed s/MyStruct/$1/g mutation.tmpl > $TargetDir/eo$1Mutation.h
|
||||
sed s/MyStruct/$1/g quadCrossover.tmpl > $TargetDir/eo$1QuadCrossover.h
|
||||
sed s/MyStruct/$1/g MyStructSEA.cpp > $TargetDir/$1EA.cpp
|
||||
sed s/MyStruct/$1/g MakeSimple.tmpl > $TargetDir/$MakeName
|
||||
|
||||
echo Done!
|
||||
|
||||
Reference in a new issue