JP2003330731A - プロジェクト管理ファイル生成装置 - Google Patents

プロジェクト管理ファイル生成装置

Info

Publication number
JP2003330731A
JP2003330731A JP2002134454A JP2002134454A JP2003330731A JP 2003330731 A JP2003330731 A JP 2003330731A JP 2002134454 A JP2002134454 A JP 2002134454A JP 2002134454 A JP2002134454 A JP 2002134454A JP 2003330731 A JP2003330731 A JP 2003330731A
Authority
JP
Japan
Prior art keywords
file
make
project management
makefile
management file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002134454A
Other languages
English (en)
Inventor
Yasunori Takemoto
康則 竹本
Hiroshi Sasaki
浩士 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002134454A priority Critical patent/JP2003330731A/ja
Publication of JP2003330731A publication Critical patent/JP2003330731A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 メイクファイル解析処理の開発工数を減らす
ことが可能なプロジェクト管理ファイル生成装置を提供
することである。 【解決手段】 プロジェクト管理ファイル生成装置1に
おいて、メイク実行部11には、ソフトウェアをコンパ
イルする場合に必要となるソースファイルの依存関係ま
たはコンパイルオプションと、プロジェクト管理ファイ
ルの生成時に必要となる情報出力用のスクリプトSRと
が少なくとも記述されているメイクファイルMFe1が入
力される。メイク実行部11は、受け取ったメイクファ
イルMFe1に記述されたスクリプトSRを実行して、指
定された情報を、指定されたファイルに書き出して、メ
イク情報ファイルMIFe1を生成する。また、プロジェ
クト管理ファイル生成部13は、メイク実行部11によ
り生成されたメイク情報ファイルMIFe1から、プロジ
ェクト管理ファイルPFを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロジェクト管理
ファイル生成装置に関し、より特定的には、メイクファ
イルから、それとは異なる書式のプロジェクト管理ファ
イルを生成するプロジェクト管理ファイル生成装置に関
する。
【0002】
【従来の技術】近年、ソフトウェアは大規模になり、そ
の構造化設計または分散開発のために、多くの場合、1
つのソフトウェアは、複数ファイルに分割され管理され
ている。このようなファイル管理方法において、複数の
ファイルの内、修正したものの依存関係を調べて、その
修正の影響が及ぶファイルを見つける作業は、複雑で労
力を要する。このような複雑な作業を自動化するため
に、メイクファイルによるメイク実行が使われる。ここ
で、メイクファイルとは、ソフトウェアをコンパイルす
る場合に必要な情報を記述したファイルである。また、
メイク実行とは、一般的に、メイクファイルに記述され
た依存関係およびコンパイルオプションに従って、指定
されたソースファイルのコンパイルを行うための処理で
ある。
【0003】また、近年では、メイクファイル以外の異
なった書式のプロジェクト管理ファイルで、ソフトウェ
アを構成する各ファイルの管理を行うツールがある。こ
のようなツールの代表例として、Microsoft(R)社製のVi
sual Studio(R)、およびBoland(R) 社製のC++Builder
(R) がある。また、プロジェクト管理ファイルを作成し
たり、編集したりするには、それらツールの機能を使わ
なければならない。そのため、メイクファイルで管理し
ているコンパイル対象ファイル(ソースファイル)を、
Visual Studio(R)等のツールで管理しようとした場合、
それらをVisual Studio(R)等に登録し、コンパイルに必
要な情報を設定しなければならない。
【0004】また、メイクファイルをVisual Studio(R)
等で使えるような形に変換するには、メイクファイルの
内容を解析する仕組みが必要となる。ここで、図9は、
メイクファイルから、それとは異なる書式を有するプロ
ジェクト管理ファイルを生成するための一般的なプロジ
ェクト管理ファイル生成装置(以下、単に、生成装置と
称する)100の構成を示すブロック図である。図9に
おいて、生成装置100は、大略的に、メイクファイル
解析部101と、プロジェクト管理ファイル生成部10
2とを備えている。
【0005】以上の構成を有する生成装置100は、以
下のような処理を行う。まず、メイクファイル解析部1
01は、処理対象となるメイクファイルMFc の内容を
解析して、コンパイルの対象となるファイル名およびコ
ンパイルオプションを少なくとも含むコンパイル情報C
Iを取得する。メイクファイル解析部101で得られた
コンパイル情報CIを、プロジェクト管理ファイル生成
部102は、Visual Studio(R)等で使用可能な独自形式
のプロジェクト管理ファイルPFを生成する。より具体
的には、プロジェクト管理ファイルPFは、Visual Stu
dio(R)等の開発統合環境で使用され、ソースファイルの
コンパイル規則を管理するためのファイルである。
【0006】
【発明が解決しようとする課題】上述のように、生成装
置100において、メイクファイル解析部101は、メ
イクファイルMFc の内容を解析する。しかしながら、
この解析のために、メイクファイル解析部101は、図
10に示すマクロまたは図11に示す複数のメイクファ
イルMFc の解析といった複雑な構文解析機能を持って
いる必要がある。以下には、例として、図11を参照し
て、メイクファイル解析部101における複数のメイク
ファイルMFc の解析処理について説明する。まず、ユ
ーザが生成装置100を操作して、その実行を指示する
と、メイクファイル解析部101が起動する。メイクフ
ァイル解析部101は、起動後、図11に例示するよう
なメイクファイルMFc を読み込み、その内容を解析す
る。
【0007】以上の構文解析をより具体的に説明する
と、メイクファイル解析部101はまず、メイクファイ
ルMFc から、他のメイクファイルを参照している記述
を検索する。さらに具体的には、メイクファイル解析部
101は、"include" という単語をキーとして、読み込
んだメイクファイルMFc を検索する。その検索によ
り、メイクファイル解析部101は、例えば、メイクフ
ァイルMFc から行La1を見つけ、さらに、行La1で参
照されているメイクファイル名"cmn.mk"を取得する。
【0008】その後、メイクファイル解析部101
は、"cmn.mk"というファイル名で特定される共通メイク
ファイルCMFc を読み込む。これによって、メイクフ
ァイル解析部101は、メイクファイルMFc および共
通メイクファイルCMFc の内容を取得したことにな
る。
【0009】次に、メイクファイル解析部101は、取
得した両ファイルMFc およびCMFc の内容から、コ
ンパイル対象ファイル名を取得する。さらに具体的に
は、図11の場合には、コンパイル対象ファイル名は、
内部マクロ変数CSRCSに設定されている。また、CSRCS
は、行La2において"+="の記述で、過去に設定されたフ
ァイルに別のファイルが追加されていることが示されて
いる。メイクファイル解析部101は、"CSRCS" という
単語をキーとして、コンパイル対象ファイルを設定して
いる行を検索する。その検索の結果取得した行から、メ
イクファイル解析部101は、"=" および"+="を検索し
て、それらに続く文字列を取得する。原則として、"="
および"+="に続く文字列は空白で区切られており、空白
で区切られた単語がそれぞれ1つのファイル名を示して
いる。このような単語を、メイクファイル解析部101
は、コンパイル対象ファイルとして取得する。従って、
図11のメイクファイルMFc に上述の処理を行うと、
コンパイル対象ファイルとして、"file1.c" 、"file2.
c" 、"file3.c" 、"file4.c" および"file5.c" が取得
される。ここで、もし、行La2に含まれる"+="が"=" の
場合、過去に設定されたファイルはコンパイル対象ファ
イルから外れるので、"+="と"=" の場合で、メイクファ
イル解析部101は、別の処理を行う必要がある。
【0010】次に、メイクファイル解析部101は、取
得した両ファイルMFc およびCMFc の内容から、コ
ンパイルオプションを取得する。さらに具体的には、図
11の場合には、コンパイルオプションは、内部マクロ
変数CFLAGSに設定されている。また、コンパイル対象フ
ァイルの場合と同様に、"+="という記述も存在する。メ
イクファイル解析部101は、コンパイル対象ファイル
を取得した時と同様の処理を行って、コンパイルオプシ
ョンを取得する。従って、図3のメイクファイルMFc
に対して上述の処理を行うと、コンパイルオプションと
して、共通メイクファイルCMFc から"-c -W2 -o -
I../include -I../localinclude"が取得される。
【0011】メイクファイル解析部101は、以上の処
理を実行することで取得したコンパイル対象ファイル名
およびコンパイルオプションを含むコンパイル情報CI
をプロジェクト管理ファイル生成部102に渡す。プロ
ジェクト管理ファイル生成部102は、受け取ったコン
パイル対象ファイル名およびコンパイルオプションを使
って、プロジェクト管理ファイルPFを生成する。
【0012】以上の説明から分かるように、メイクファ
イル解析部101は、複雑な構文解析を行う。また、コ
ンパイル対象ファイルおよびコンパイルオプションを設
定するための内部マクロ変数CSRCS およびCFLAGSは開発
者が自由に設定できるため、それらを設定するために別
の変数名が使われることもある。もし、異なる内部マク
ロ変数が使われているメイクファイルを解析する場合、
メイクファイル解析部101は、コンパイル対象ファイ
ルおよびコンパイルオプションを設定した内部マクロ変
数の名前を認識するための処理を実行する必要があり、
さらに複雑な処理を行う必要性が生じる。従来、このよ
うなメイクファイル解析部101は、Visual Studio(R)
等のツールのユーザそれぞれが記述したプログラムによ
り実現されていた。その結果、ユーザに、メイクファイ
ル解析処理のために、メイクファイル解析部101を作
成するという余分な工数が要求されていた。
【0013】また、メイクファイルの記述方法は自由度
が高いので、メイクファイル解析部101は、図10お
よび図11に示すメイクファイルMFc 以外にも様々な
メイクファイルに対応する必要がある。
【0014】それ故に、本発明の目的は、メイクファイ
ル解析処理の開発工数を減らすことが可能なプロジェク
ト管理ファイル生成装置を提供することである。また、
本発明の他の目的は、様々な種類のメイクファイルに柔
軟に対応することが可能なプロジェクト管理ファイル生
成装置を提供することである。
【0015】
【課題を解決するための手段および発明の効果】第1の
発明は、メイクファイルからプロジェクト管理ファイル
を生成する装置であって、メイクファイルには、ソフト
ウェアをコンパイルする場合に必要となるソースファイ
ルの依存関係またはコンパイルオプションと、プロジェ
クト管理ファイルの生成時に必要となる情報出力用のス
クリプトとが少なくとも記述されており、受け取ったメ
イクファイルに記述された情報出力用スクリプトを実行
して、指定された情報を、指定されたファイルに書き出
して、メイク情報ファイルを生成するメイク実行部と、
メイク実行部により生成されたメイク情報ファイルを使
って、メイクファイルとは異なる書式のプロジェクト管
理ファイルを生成するプロジェクト管理ファイル生成部
とを備える。
【0016】上述の第1の発明によれば、メイクファイ
ルに情報出力用のスクリプトを記述することにより、汎
用的なメイク実行部を利用して、プロジェクト管理ファ
イルの作成に必要となるメイク情報ファイルを作成する
ことができる。これによって、多大な負担を強いるメイ
クファイル解析プログラムをユーザが作成する必要がな
くなり、少ない工数でプロジェクト管理ファイルを作成
することが可能となる。
【0017】また、第2の発明は、第1の発明に従属し
ており、メイクファイルにはさらに、プロジェクト管理
ファイル生成部を起動させるための起動コマンドが記述
されており、メイク実行部は、メイク情報ファイルを生
成した後に、受け取ったメイクファイルに記述されてい
る起動コマンドに従って、プロジェクト管理ファイル生
成部を起動させる。
【0018】上述の第2の発明によれば、メイク実行部
が自動的にプロジェクト管理ファイル生成部を起動する
ので、ユーザはプロジェクト管理ファイル生成部を起動
する必要がなくなる。これによって、より工数が少なく
することができるプロジェクト管理ファイル生成装置を
実現することが可能になる。
【0019】第3の発明は、第1の発明に従属してお
り、メイクファイルにはさらに、ソースファイルの依存
関係を解析するための解析コマンドが記述されており、
プロジェクト管理ファイル生成装置は、ソフトウェアを
コンパイルする場合に必要となるソースファイルの依存
関係を解析する依存関係解析部をさらに備える。メイク
実行部は、受け取ったメイクファイルに記述された解析
コマンドに従って、依存関係解析部を起動させる。
【0020】上述の第3の発明によれば、メイク実行部
が自動的に、依存関係解析部を起動するので、ユーザが
より少ない工数で、より情報量の多いプロジェクト管理
ファイルを生成するプロジェクト管理ファイル生成装置
を実現することが可能になる。
【0021】第4の発明は、第1の発明に従属してお
り、メイクファイルにはさらに、ソースファイルの文字
コードを変換するための変換コマンドが記述されてお
り、プロジェクト管理ファイル生成装置は、ソフトウェ
アをコンパイルする場合に必要となるソースファイルの
文字コードを変換するコード変換部をさらに備える。メ
イク実行部は、受け取ったメイクファイルに記述された
変換コマンドに従って、コード変換部を起動させる。
【0022】上述の第4の発明によれば、メイク実行部
により起動されたコード変換部が、ソースファイルを開
発統合環境に適した文字コードを持つものに変換するこ
とができる。これによって、さらに使い勝手の良いプロ
ジェクト管理ファイル生成装置を実現することが可能に
なる。
【0023】第5の発明は、メイクファイルからプロジ
ェクト管理ファイルを生成するためのコンピュータプロ
グラムであって、メイクファイルには、ソフトウェアを
コンパイルする場合に必要となるソースファイルの依存
関係またはコンパイルオプションと、プロジェクト管理
ファイルの生成時に必要となる情報出力用のスクリプト
とが少なくとも記述されている。コンピュータプログラ
ムは、処理対象となるメイクファイルに記述された情報
出力用スクリプトを実行して、指定された情報を、指定
されたファイルに書き出して、メイク情報ファイルを生
成するメイク情報ファイル生成ステップと、メイク情報
ファイル生成ステップで生成されたメイク情報ファイル
を使って、メイクファイルとは異なる書式のプロジェク
ト管理ファイルを生成するプロジェクト管理ファイル生
成ステップとを備える。
【0024】第6の発明は、第5の発明に従属してお
り、コンピュータプログラムは、記録媒体に記録され
る。
【0025】上述の第5および第6の発明によれば、メ
イクファイルに情報出力用のスクリプトを記述すること
により、メイク実行を行う汎用的なコンピュータプログ
ラムを利用して、プロジェクト管理ファイルの作成に応
用することができる。これによって、多大な負担を強い
るメイクファイル解析プログラムをユーザが作成する必
要がなくなり、少ない工数でプロジェクト管理ファイル
を作成することが可能となる。
【0026】
【発明の実施の形態】図1は、本発明の一実施形態に係
るプロジェクト管理ファイル生成装置(以下、単に生成
装置と称する)1の構成を示すブロック図である。図1
において、生成装置1は、受け取ったメイクファイルM
Fe1からプロジェクト管理ファイルPFを生成する。プ
ロジェクト管理ファイルPFは、前述のVisual Studio
(R)またはC++Bulider(R) に代表される開発統合環境で
使用され、メイクファイルMFe1とは異なる書式で記述
される。以上のプロジェクト管理ファイルPFを生成す
るために、生成装置1は、メイク実行部11と、メイク
情報ファイル格納部12と、プロジェクト管理ファイル
生成部13とを備えている。メイク実行部11は、典型
的には、make.exeという実行形式のファイルであり、受
け取ったメイクファイルMFe1に記述されたスクリプト
SRを実行して、メイク情報ファイルMIFe1を作成す
る。なお、メイク実行部11は、コンパイル等、他の処
理も行うが、これらについては、本実施形態では無関係
であるため、その詳細な説明を省略する。メイク情報フ
ァイル格納部12は、メイク実行部11により作成され
たメイク情報ファイルMIFe1を格納する。プロジェク
ト管理ファイル生成部13は、メイク情報ファイル格納
部12に格納されたメイク情報ファイルMIFe1から、
プロジェクト管理ファイルPFを生成する。
【0027】次に、以上の構成を有する生成装置1の動
作について説明する。まず、ユーザは、図2に示すよう
なメイクファイルMFe1を作成する。より具体的には、
ユーザは、図2の一点鎖線内に示すように、対象となる
ソフトウェアをコンパイルする場合に必要となるソース
ファイルの依存関係およびコンパイルオプションをテキ
スト形式で記述する。さらに、ユーザは、プロジェクト
管理ファイルPFを作成する際に必要となる情報出力用
のスクリプトSRと、スクリプトSRの実行開始に必要
となるターゲットTGをテキスト形式で記述する。ここ
で、スクリプトSRは、"CFLAGS"、"CSRCS" 、"OUTFIL
E" および"OUTDIR"を展開してmakeinfo.txtという名称
のメイク情報ファイルMIFe1に書き出すための4行の
命令が記述されている。少なくとも以上の4行の命令
で、プロジェクト管理ファイルPFは生成可能であるた
め、ユーザには、従来のメイクファイル解析部101
(図9参照)を記述するような負荷のかかる工程は要求
されない。ただし、また、"INC"、"CFLAGS"、"CSRCS"
、"OUTFILE" および"OUTDIR"の内部マクロ変数は、ソ
ースファイルの依存関係およびコンパイルオプションの
記述に使ったものとユーザ自身が一致させる必要があ
る。また、メイクファイルMFe1には、"include cmn.m
k"と記述されており、"cmn.mk"というファイル名を有す
る共通メイクファイルCMFの内容がメイクファイルM
Fe1に取り込まれるため、図2には共通メイクファイル
CMFも模式的に描かれている。
【0028】ユーザは、図示しない入力装置を操作し
て、スクリプトSRのターゲットTGを指定して、メイ
ク実行部11を起動させる。起動後、メイク実行部11
は、予め準備されているメイクファイルMFe1を読み込
む。さらに、メイク実行部11は、読み込んだメイクフ
ァイルMFe1から、他のメイクファイルを参照している
記述を検索し、その結果、ファイル名"cmn.mk"を取得す
る。その後、メイク実行部11は、"cmn.mk"というファ
イル名で特定される共通メイクファイルCMFを読み込
む。
【0029】次に、メイク実行部11は、指定されたタ
ーゲットTGの後に続くスクリプトSRに従って、読み
込んだメイクファイルMFe1および共通メイクファイル
CMF内の"CFLAGS"、"CSRCS" 、"OUTFILE" および"OUT
DIR"を展開して、各値を得る。さらに、メイクファイル
実行部11は、図3の一点鎖線内に示すように、属性[C
FLAGS]、[CSRCS] 、[OUTFILE] および[OUTDIR]毎に、取
得した値をmakeinfo.txtという名称のメイク情報ファイ
ルMIFe1に、取得した値を書き出す。ここで、属性[C
FLAGS]の具体的な内容は、コンパイラに対する引数、プ
リプロセッサ識別子およびインクルードパスを含むコン
パイルオプションであり、属性[CSRCS]の内容は、コン
パイルの対象となるソースファイルの名前であり、属性
[OUTFILE] の内容は、コンパイルにより生成されるファ
イルの名前であり、属性[OUTDIR]の内容は、コンパイル
により生成されるファイルの出力先である。以上のよう
にして生成されたメイク情報ファイルMIFe1を、メイ
ク実行部11は、メイク情報ファイル格納部12に格納
する。
【0030】その後、ユーザは、図示しない入力装置を
操作して、プロジェクト管理ファイル生成部13を起動
させる。起動後、プロジェクト管理ファイル生成部13
は、メイク情報ファイル格納部12からメイク情報ファ
イルMIFe1を読み出して、読み出したものから、開発
統合環境の書式を有するプロジェクト管理ファイルPF
を生成する。なお、このプロジェクト管理ファイルPF
の生成については従来と同様であるため、その詳細な説
明を省略する。
【0031】以上説明したように、本実施形態に係る生
成装置1によれば、メイクファイルMFe1には、予め、
プロジェクト管理ファイルPFの生成に必要となる各情
報をメイク情報ファイルMIFe1に書き出すようなスク
リプトSRと、その実行開始に必要となるターゲットT
Gとが記述されているため、メイク実行部11として汎
用的なものを使うことができる。その結果、ユーザは、
メイクファイルMFc毎に特化したメイクファイル解析
部101(図9参照)を作成する必要がなくなる。さら
に、メイクファイルMFe1には、対象となるソフトウェ
アをコンパイルする場合に必要となるソースファイルの
依存関係およびコンパイルオプションに対応したスクリ
プトSRが記述されるため、生成装置1は、その依存関
係およびコンパイルオプションで自由に記述される内部
マクロ変数に柔軟に対応することが可能になる。
【0032】図4は、上述の生成装置1の変型例に係る
プロジェクト管理ファイル生成装置(以下、単に生成装
置と称する)2の構成を示すブロック図である。図4の
生成装置2は、図1の生成装置1と同様の構成を有する
ので、図4において、図1の構成に相当するものには同
一の参照符号を付けて、それぞれの説明を省略する。た
だし、従前の実施形態では、ユーザの操作に応答して、
プロジェクト管理ファイル生成部13が起動したが、本
変型例では、メイク実行部11が自動的にプロジェクト
管理ファイル生成部13を起動させる。また、本変型例
では、プロジェクト管理ファイル生成部13は、例えば
makeprj.exe というファイル名が割り当てられた実行形
式のファイルである。
【0033】次に、以上の構成を有する生成装置2の動
作について説明する。まず、ユーザは、図5に示すよう
なメイクファイルMFe2を作成する。メイクファイルM
Fe2は、図2のメイクファイルMFe1と比較すると、ス
クリプトSRの後に、プロジェクト管理ファイル生成部
13を起動するための起動コマンドCMDa が記述され
ている点で相違する。それ以外に、両メイクファイルM
Fe1およびMFe2の間に相違点は無い。それ故、図5に
おいて、図2の記述に相当するものには同一の参照符号
を付けて、それらの説明を省略する。
【0034】ユーザは、図示しない入力装置を操作し
て、スクリプトSRのターゲットTGを指定して、メイ
ク実行部11を起動させる。その起動により、メイク実
行部11は、上述の実施形態と同様にして、メイク情報
ファイルMIFe1を生成して、メイク情報ファイル格納
部12に格納する。スクリプトSRの実行終了後、メイ
ク実行部11は、メイクファイルMFe2の起動コマンド
CMDa に従って、makeprj.exe と名付けられたプロジ
ェクト管理ファイル生成部13を起動させる。起動後、
プロジェクト管理ファイル生成部13は、上述の実施形
態と同様に、メイク情報ファイル格納部12に格納され
ているメイク情報ファイルMIFe1を使って、プロジェ
クト管理ファイルPFを生成する。
【0035】以上説明したように、本変型例によれば、
メイク実行部11が起動コマンドCMDa に従って、プ
ロジェクト管理ファイル生成部13を起動させるので、
ユーザはプロジェクト管理ファイル生成部13に対して
実行指示を出さなくとも良い。これにより、より使い勝
手の良い生成装置2を提供できるようになる。
【0036】図6は、上述の生成装置2の変型例に係る
プロジェクト管理ファイル生成装置(以下、生成装置)
3の全体構成を示すブロック図である。図6の生成装置
3は、図4の生成装置2と比較すると、依存関係解析部
14と、文字コード変換部15とをさらに備える点で相
違する。それ以外に両生成装置2および3の間に構成面
での相違は無いので、図6において、図4の構成に相当
するものには同一の参照符号を付け、それらの説明を省
略する。
【0037】次に、以上の構成を有する生成装置3の動
作について説明する。まず、ユーザは、図7に示すよう
なメイクファイルMFe3を作成する。メイクファイルM
Fe3は、図5に示すメイクファイルMFe2と比較する
と、スクリプトSRおよびコマンドCMDa の間に、依
存関係解析部14を起動するための解析コマンドCMD
b と、文字コード変換部15を起動するための変換コマ
ンドCMDc とが記述されている点で相違する。それ以
外に両ファイルMFe2およびMFe3の間に相違点は無い
ので、図7において、図5に相当するものには同一の参
照符号を付けて、それらの説明を省略する。
【0038】ユーザは、図示しない入力装置を操作し
て、メイクファイルMFe3に記述されたスクリプトSR
のターゲットTGを指定して、メイク実行部11を起動
させる。その起動により、メイク実行部11は、従前の
実施形態で説明したメイク情報ファイルMIFe1を生成
して、メイク情報ファイル格納部12に格納する。スク
リプトSRの実行終了後、メイク実行部11は、メイク
ファイルMFe3においてスクリプトSRの後に記述され
ている解析コマンドCMDb に従って、depend.exeと名
付けられた依存関係解析部14を起動させる。起動後、
依存関係解析部14は、読み込んだメイクファイルMF
e3および共通メイクファイルCMFから、メイク実行部
11から渡されたパラメータに従って、ソースファイル
の依存関係を示すいくつかの値を得る。さらに、依存関
係解析部14は、図8の二点鎖線内に示すように、取得
した値毎に、[DEPEND]という属性を付加したものを、メ
イク情報ファイルMIFe1と同内容を有するmakeinfo.t
xtに書き込み、それによって、メイク情報ファイルMI
Fe3を生成する。ここで、属性[DEPEND]の具体的な内容
は、ソースファイルの依存関係である。以上のようにし
て生成されたメイク情報ファイルMIFe3を、メイク実
行部11は、メイク情報ファイル格納部12に格納す
る。
【0039】メイク実行部11はさらに、メイクファイ
ルMFe3においてスクリプトSRの後に記述されている
変換コマンドCMDc に従って、exchange.exeと名付け
られた文字コード変換部15を起動させる。ここで、変
換コマンドCMDc には、対象となる開発統合環境で使
用される文字コードがパラメータとして指定される。文
字コード変換部15は、起動後、読み込んだメイクファ
イルMFe3および共通メイクファイルCMFにファイル
名が記述されているいくつかのソースファイルSFを読
み込んで、それらの文字コードを、メイク実行部11か
ら渡されたパラメータに従って変換して、文字コードが
変換されたソースファイルCSFを生成する。
【0040】その後、ユーザは、図示しない入力装置を
操作して、プロジェクト管理ファイル生成部13を起動
させる。起動後、プロジェクト管理ファイル生成部13
は、メイク情報ファイル格納部12からメイク情報ファ
イルMIFe3を読み出して、読み出したものから、開発
統合環境の書式を有するプロジェクト管理ファイルPF
を生成する。なお、このプロジェクト管理ファイルPF
の生成については従来と同様であるため、その詳細な説
明を省略する。
【0041】以上説明したように、本変型例によれば、
メイク実行部11が解析コマンドCMDb に従って、依
存関係解析部14を起動させるので、プロジェクト管理
ファイルPFには、ソースファイルの依存関係も記述さ
れるようになる。これによって、より情報量の多いプロ
ジェクト管理ファイルPFを生成する生成装置3を実現
することが可能になる。
【0042】さらに、本変型例によれば、メイク実行部
11が変換コマンドCMDc に従って、文字コード変換
部15を起動させるので、生成装置3は、プロジェクト
管理ファイルPFだけでなく、文字コードが変換された
ソースファイルCSFを生成することが可能となる。こ
れにより、ユーザは、ソースファイルSFの文字コード
を別途変換する必要がなくなるので、より使い勝手の良
い生成装置3を実現することが可能となる。
【0043】なお、以上の変型例では、メイクファイル
MFe3に、解析コマンドCMDb および変換コマンドC
MDc の両方が記述されていたが、これに限らず、いず
れか一方が記述されていれば良い。この時、解析コマン
ドCMDb が記述される場合には、生成装置3には、文
字コード変換部15は不要であり、逆に、変換コマンド
CMDc がメイクファイルMFe3に記述される場合に
は、生成装置3には、依存関係解析部14は不要であ
る。
【0044】また、以上の実施形態および2つの変型例
で説明したメイク実行部11、プロジェクト管理ファイ
ル生成部13、依存関係解析部14および文字コード変
換部15は、コンピュータプログラムで実現され、CD
−ROMに代表される記録媒体に記録された状態で頒布
されたり、通信ネットワークを介して頒布されても良
い。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るプロジェクト管理フ
ァイル生成装置1の全体構成を示すブロック図である。
【図2】図1のメイク実行部11が受け取るメイクファ
イルMFe1の模式図である。
【図3】図1のメイク実行部11が生成するメイク情報
ファイルMIFe1の模式図である。
【図4】図1のプロジェクト管理ファイル生成装置1の
変型例に係るプロジェクト管理ファイル生成装置2の全
体構成を示すブロック図である。
【図5】図4のメイク実行部11が受け取るメイクファ
イルMFe2の模式図である。
【図6】図4のプロジェクト管理ファイル生成装置2の
変型例に係るプロジェクト管理装置3の構成を示すブロ
ック図である。
【図7】図6のメイク実行部11が受け取るメイクファ
イルMFe3の模式図である。
【図8】図6のメイク実行部11が生成するメイク情報
ファイルMIFe2の模式図である。
【図9】従来のプロジェクト管理ファイル生成装置10
0の構成を示すブロック図である。
【図10】図9に示すメイクファイル解析部101の処
理の一例を示す模式図である。
【図11】図9のメイクファイル解析部101の処理の
他の例を示す模式図である。
【符号の説明】
1〜3…プロジェクト管理ファイル生成装置 11…メイク実行部 12…メイク情報ファイル格納部 13…プロジェクト管理ファイル生成部 14…依存関係解析部 15…文字コード変換部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 メイクファイルからプロジェクト管理フ
    ァイルを生成する装置であって、 メイクファイルには、ソフトウェアをコンパイルする場
    合に必要となるソースファイルの依存関係またはコンパ
    イルオプションと、プロジェクト管理ファイルの生成時
    に必要となる情報出力用のスクリプトとが少なくとも記
    述されており、 受け取ったメイクファイルに記述された情報出力用スク
    リプトを実行して、指定された情報を、指定されたファ
    イルに書き出して、メイク情報ファイルを生成するメイ
    ク実行部と、 前記メイク実行部により生成されたメイク情報ファイル
    を使って、メイクファイルとは異なる書式のプロジェク
    ト管理ファイルを生成するプロジェクト管理ファイル生
    成部とを備える、プロジェクト管理ファイル生成装置。
  2. 【請求項2】 メイクファイルにはさらに、前記プロジ
    ェクト管理ファイル生成部を起動させるための起動コマ
    ンドが記述されており、 前記メイク実行部は、メイク情報ファイルを生成した後
    に、受け取ったメイクファイルに記述されている起動コ
    マンドに従って、プロジェクト管理ファイル生成部を起
    動させる、請求項1に記載のプロジェクト管理ファイル
    生成装置。
  3. 【請求項3】 メイクファイルにはさらに、ソースファ
    イルの依存関係を解析するための解析コマンドが記述さ
    れており、 ソフトウェアをコンパイルする場合に必要となるソース
    ファイルの依存関係を解析する依存関係解析部をさらに
    備え、 前記メイク実行部は、受け取ったメイクファイルに記述
    された解析コマンドに従って、前記依存関係解析部を起
    動させる、請求項1に記載のプロジェクト管理ファイル
    生成装置。
  4. 【請求項4】 メイクファイルにはさらに、ソースファ
    イルの文字コードを変換するための変換コマンドが記述
    されており、 ソフトウェアをコンパイルする場合に必要となるソース
    ファイルの文字コードを変換するコード変換部をさらに
    備え、 前記メイク実行部は、受け取ったメイクファイルに記述
    された変換コマンドに従って、前記コード変換部を起動
    させる、請求項1に記載のプロジェクト管理ファイル生
    成装置。
  5. 【請求項5】 メイクファイルからプロジェクト管理フ
    ァイルを生成するためのコンピュータプログラムであっ
    て、 メイクファイルには、ソフトウェアをコンパイルする場
    合に必要となるソースファイルの依存関係またはコンパ
    イルオプションと、プロジェクト管理ファイルの生成時
    に必要となる情報出力用のスクリプトとが少なくとも記
    述されており、 処理対象となるメイクファイルに記述された情報出力用
    スクリプトを実行して、指定された情報を、指定された
    ファイルに書き出して、メイク情報ファイルを生成する
    メイク情報ファイル生成ステップと、 前記メイク情報ファイル生成ステップで生成されたメイ
    ク情報ファイルを使って、メイクファイルとは異なる書
    式のプロジェクト管理ファイルを生成するプロジェクト
    管理ファイル生成ステップとを備える、コンピュータプ
    ログラム。
  6. 【請求項6】 記録媒体に記録される、請求項5に記載
    のコンピュータプログラム。
JP2002134454A 2002-05-09 2002-05-09 プロジェクト管理ファイル生成装置 Pending JP2003330731A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002134454A JP2003330731A (ja) 2002-05-09 2002-05-09 プロジェクト管理ファイル生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002134454A JP2003330731A (ja) 2002-05-09 2002-05-09 プロジェクト管理ファイル生成装置

Publications (1)

Publication Number Publication Date
JP2003330731A true JP2003330731A (ja) 2003-11-21

Family

ID=29697094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002134454A Pending JP2003330731A (ja) 2002-05-09 2002-05-09 プロジェクト管理ファイル生成装置

Country Status (1)

Country Link
JP (1) JP2003330731A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100834676B1 (ko) 2006-08-08 2008-06-02 삼성전자주식회사 소프트웨어 프로젝트 빌드 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100834676B1 (ko) 2006-08-08 2008-06-02 삼성전자주식회사 소프트웨어 프로젝트 빌드 방법

Similar Documents

Publication Publication Date Title
EP1388064B1 (en) System and method for combinatorial test generation in a compatibility testing environment
US7496906B2 (en) Evaluation of a code segment
JP4057938B2 (ja) コンパイラ、コンパイル方法、及びプログラム開発ツール
US6941547B2 (en) Apparatus and method for porting applications to different platforms
US20040158820A1 (en) System for generating an application framework and components
US20070079299A1 (en) Method, apparatus and program storage device for representing eclipse modeling framework (EMF) ecore models in textual form
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
US7908598B2 (en) Automated creation of model and view code
US20050149868A1 (en) User interface application development program and development apparatus
US6934940B2 (en) Source code transformation-temporary object reduction
JP2011060277A (ja) 統合環境生成器
WO2016163901A1 (en) An apparatus for processing an abstract syntax tree being associated with a source code of a source program
US20090328016A1 (en) Generalized expression trees
JPH09259153A (ja) バッチ実行制御プログラム作成装置及び方法
CN115437684A (zh) 一种针对Linux内核源代码的文件级裁剪方法和系统
Kleppe Towards the generation of a text-based IDE from a language metamodel
JP3196675B2 (ja) 言語処理方式
GB2420638A (en) Method of substituting code fragments in Internal Representation
JP2003330731A (ja) プロジェクト管理ファイル生成装置
Gurov et al. Tools for support of automata-based programming
JP7059757B2 (ja) Api処理方法、端末、api処理プログラム
JP3266097B2 (ja) 非リエントラントプログラムの自動リエントラント化方法及びシステム
WO2008015110A2 (en) Methods, apparatus and computer programs for modelling computer programs
Burri et al. YETI: A TinyOS plug-in for Eclipse
JP2003050722A (ja) プログラム解析システムとプログラム解析方法