Makegeneral

提供: Eospedia
移動: 案内検索

makegeneral

機能

 このシェルプログラムはmaketool及びmakeobjというEosにおいて、プロトタイプソースコードを生成する二つの重要なシェルスクリプトを提供します。

使い方

$ makegeneral [World] [ClassName] [ObjectName] [Action]
   World
   Tools
       You will use this argument when you create a new tool following Eos. 
   Objects
       You will use this argument when you create a new object-oriented library 
   ClassName : Class Name to which a new object is attributted
   ObjectName : Name of object
   Action
    All
       All files and environment will be set up. A new default control file will be supplied. 
    AllFollowingControlFile
       All files and environment will be supplied following a control file you prepared except for a main-source file. 
    EnvironmentOnly
       You will use this argument when you want to use Eos environment and create a new tool which belong to Eos. 

ソースコードの構造

環境変数

予め定義されている変数

   EOS_HOME
       Eos Top pathname 

内部で定義される変数

   WorldHomeDir
       ${EOS_HOME}/src 
   ObjectClassHomeDir
       ${WorldHomeDir}/Objects 
   ToolClassHomeDir
       ${WorldHomeDir}/Tools 
   World
       Tools | Objects 
   ClassName
       Class Name of an implemented object/tool 
   ObjectName
       Name of an implemented object 
   Action
       Action 
   Name
       return temporary value of NameRead fucntion 

関数

General
   usage
       print usage this tool 
   NameList
       Show directories except for a directory named Config 
       arg1: Name of a directory including named one. 
       Full: arg1 
   NameShow
       Show a list of implemented tools/objects/classes. Create ${Full}/Config/Source.lst 
       arg1: full pathname including inplemented 
       arg2: Tools | Objects | Class 
       Full: arg1 
       Target: arg2 
   NameRead
       Get a name of a implemented tool/object/class 
       arg1: Full pathname including a implemented tool/object/class 
       arg2: Tools | Objects | Class 
       Name: Wanted name 
       Full: arg1 
       Target: arg2 
       ans: Y|y 
   DirCheckAndMake
       Check and Create new directories, i.e., ${Full}/${Name} and ${Full}/${Name} 
       arg1: full pathname of a directory including a implemented directory 
       arg2: a directory name to be implemented 
       arg3: Tools | Objects | Class 
       Full: arg1 
       Name: arg2 
       World: arg3 
       ans: Y|y 
   NewNameAddToMakefile
       Add a new name in Makefile. 
       arg1: Full pathname of Makefile. 
       arg2: name of an implemented tool/class/object. 
       arg3: Class| Objects | Tools 
       Full: arg1 
       Name: arg2 
       World: arg3
       World : Tools | Objects
       WorldNameShow
       WorldNameRead
           World: Tools | Objects 
       WorldDirCheckAndMake
Object :
       ObjectClassNameShow
       ObjectClassNameRead
           ObjectClassName 
       ObjectClassDirCheckAndMake
       ObjectNameShow
       ObjectNameRead
           ObjectName 
       ObjectDirCheckAndMake
       ObjectActionRead
           Action: 
       ObjectClassDirModifyFollowingAction
       ObjectDirModifyFollowingAction
Tool :
       ToolClassNameShow
       ToolClassNameRead
           ToolClassName 
       ToolClassDirCheckAndMake
       ToolNameShow
       ToolNameRead
           ToolName 
       ToolDirCheckAndMake
       ToolActionRead
           Action: 
       ToolClassDirModifyFollowingAction
           Create src, bin, doc, sccs, src/Tools, src/Config.
           Create Makefile in Tools 
       ToolDirModifyFollowingAction
           Create a new tool directory.
           Register a new tool name in Makefile.
           Set Eos environment files and directories.
               Create directories, tool, tool/src etc..
               Create Config/Define.inc and Config/Define.inc
               Set Makefile
               Set src/Makefile, src/.Depend, and src/.Source 
           Set a option control file.
           Create prototype source codes. 

テンプレートの位置

   ${EOS_HOME}/src/Config/Template/ToolTemplate.Dir
   ${EOS_HOME}/src/Config/Template/ToolClassTemplate.Dir
   ${EOS_HOME}/src/Config/Template/ToolHomeTemplate.Dir
   ${EOS_HOME}/src/Config/Template/ObjectTemplate.Dir
   ${EOS_HOME}/src/Config/Template/ObjectClassTemplate.Dir
   ${EOS_HOME}/src/Config/Template/ObjectHomeTemplate.Dir