(57)【特許請求の範囲】
【請求項１】
コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するメイク情報解析によるプロジェクト内容解析方法において、
コンピュータが、
コマンドによって処理を起動してコマンドオプションを判断し、
次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、
この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、
この読み込んだデータからメイク実行時の内容を解析し、
この解析した内容の解析情報をもとにモジュールを呼び出して起動することを特徴とするメイク情報解析によるプロジェクト内容解析方法。
【請求項２】
コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するメイク情報解析によるプロジェクト内容解析方法において、
コンピュータが、
コマンドによって処理を起動してコマンドオプションを判断し、
次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、
この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、
この読み込んだデータからメイク実行時の内容を解析し、
次に、前記保持しているコマンドオプションの内容のデータによってプロジェクト内容解析を起動し、
さらに、プロジェクトファイル内容を読み込み、このプロジェクトに含まれる構成内容を解析し、
このプロジェクト構成内容解析による情報結果を構成情報ファイルに格納して出力することを特徴とするメイク情報解析によるプロジェクト内容解析方法。
【請求項３】
前記メイク実行時の内容解析が、
メイクで指定するコンパイルオプション列の解析、
メイク実行のためのソースファイル名情報の解析、
メイク実行のためのライブラリ名情報の解析、
生成されるモジュール名情報の解析、
であることを特徴とする請求項１又は２記載のメイク情報解析によるプロジェクト内容解析方法。
【請求項４】
前記プロジェクトに含まれる構成内容の解析が、少なくとも、
プロジェクトに含まれるソースファイルとプロジェクトとの関連の解析、
プロジェクトに含まれるヘッダファイルとプロジェクトとの関連の解析、
プロジェクトに含まれるライブラリファイルとプロジェクトとの関連の解析、
プロジェクトに含まれる出力オブジェクトファイルとプロジェクトとの関連の解析、
ソースファイルとこのソースファイルから呼び出されるヘッダファイルとの関連の解析、
プロジェクトに存在する関数とこの関数が所属するファイル又は呼び出しファイルとの関連の解析、
プロジェクトに存在する変数及びこの変数が所属するファイル又は呼び出しファイルとの関連の解析であり、かつ、
前記解析による情報において重複するデータを削除することを特徴とする請求項２記載のメイク情報解析によるプロジェクト内容解析方法。
【請求項５】
コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するプロジェクト内容解析システムにおいて、
プログラム群の更新及び生成情報を記述したメイクファイルと、
このメイクファイルに記述された内容が実行される場合の動作を仮想実行するメイクファイル仮想実行手段と、
このメイクファイル仮想実行手段での仮想実行によって得られた実動作状況を一時的に記録するメイク実行解析作業ファイルと、
このメイク実行解析作業ファイルに格納された結果に基づいてメイクファイルの実動作内容を解析するメイクファイル実行内容解析手段と、
このメイクファイル実行内容解析手段における解析内容を情報管理ファイルとして格納するプロジェクトファイルと、
このプロジェクトファイルの内容を読み出してプロジェクト内のソースを含む情報解析を行う対象となる外部処理手段を呼び出すための外部処理呼出手段と、
を備えることを特徴とするプロジェクト内容解析システム。
【請求項６】
コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するプロジェクト内容解析システムにおいて、
プログラム群の更新及び生成情報を記述したメイクファイルと、
このメイクファイルに記述された内容が実行される場合の動作を仮想実行するメイクファイル仮想実行手段と、
このメイクファイル仮想実行手段での仮想実行によって得られた実動作状況を一時的に記録するメイク実行解析作業ファイルと、
このメイク実行解析作業ファイルに格納された結果に基づいてメイクファイルの実動作内容を解析するメイクファイル実行内容解析手段と、
このメイクファイル実行内容解析手段における解析内容を情報管理ファイルとして格納するプロジェクトファイルと、
このプロジェクトファイルの内容を読み出すプロジェクト内容読込手段と、
このプロジェクト内容読込手段からのプロジェクト内のソースを含む情報解析を行う構成情報解析手段と、
この構成情報解析手段で得られた解析情報をファイル形式で出力する構成情報出力手段と、
を備えることを特徴とするプロジェクト内容解析システム。
【請求項７】
コマンドによって処理を起動してコマンドオプションを判断し、次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、この読み込んだデータからメイク実行時の内容を解析し、この解析した内容の解析情報をもとにモジュールを呼び出して起動する制御をコンピュータが実行するためのプログラムを格納したことを特徴とする情報記録媒体。
【請求項８】
コマンドによって処理を起動してコマンドオプションを判断し、次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、この読み込んだデータからメイク実行時の内容を解析し、次に、前記保持しているコマンドオプションの内容のデータによってプロジェクト内容解析を起動し、さらに、プロジェクトファイル内容を読み込み、このプロジェクトに含まれる構成内容を解析し、このプロジェクト構成内容解析による情報結果を構成情報ファイルに格納する制御をコンピュータが実行するためのプログラムを格納したことを特徴とする情報記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するメイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体に関する。
【０００２】
【従来の技術】
この種のメイク実行では、Ｃ言語やＰａｓｃａｌ言語などの高級プログラミング言語で記述されたソースプログラムを、オブジェクトプログラムに翻訳するコンパイルを実行するために必要な情報処理を行っている。いわゆる、データ量が異なる多種のコンピュータ用などのプログラム群を更新して管理している。
【０００３】
このメイクファイルを用いた従来例として、例えば、特開平５−１７３７７１号「版管理可能な自動プログラム生成システム」公報例がある。
【０００４】
このようなメイク実行によるコンピュータを用いたプロジェクト処理は、コンピュータシステムに関する業務を計画し、その処理手順を規定して、計画を遂行する上で必要となる定常業務を処理している。このようなプロジェクトの内容を解析するシステムでは、その解析結果として極めて基本的な情報を得ているのが現状である。
【０００５】
このように、従来のプロジェクト処理では基本的な情報のみを得ているのでプロジェクト及びこのプロジェクトを構成するファイルを直接解析するため解析対象の言語を特定している。また、ディレクトリ名やファイル名などで解析対象を決定しているために、解析とは無関係な情報が含まれることがある。さらに、情報収集対象のファイルに関してエラーチェックができないため、実際はエラーで実行できない情報も無関係に収集する。
【０００６】
【発明が解決しようとする課題】
このように、前記メイクファイルを用いた従来のプロジェクト処理では、プロジェクトや、このプロジェクトを構成するファイルを直接解析している。すなわち、解析対象とする言語を特定しているため、対象となる記述言語が限定されてしまう不都合がある。
【０００７】
また、従来のプロジェクト処理では、ディレクトリ名やファイル名などで解析対象を決定しているために、解析とは無関係な情報まで含まれてしまい、解析対象範囲を特定し難いという不都合がある。
【０００８】
さらに、従来のプロジェクト処理では、情報収集対象のファイルに関してエラーチェックができないため、実際はエラーで実行できない情報も無関係に収集してしまうという不都合がある。
【０００９】
このような不都合から、従来のメイクファイルを用いた従来のプロジェクト処理は、高度なプロジェクト処理ができ難いという欠点がある。
【００１０】
本発明は、このような課題を解決するものであり、プロジェクト内容の解析のためのメイクファイルの解析、及び、このメイクファイルの解析の結果を、モジュールで利用するためのファイル形式で出力できるようになり、この結果、高度なプロジェクト内容解析が可能になるメイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体の提供を目的とする。
【００１１】
【課題を解決するための手段】
上記課題を達成するために、本発明のメイク情報解析によるプロジェクト内容解析方法は、コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するメイク情報解析によるプロジェクト内容解析方法において、コンピュータが、コマンドによって処理を起動してコマンドオプションを判断し、次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、この読み込んだデータからメイク実行時の内容を解析し、この解析した内容の解析情報をもとにモジュールを呼び出して起動する。
【００１２】
また、本発明のメイク情報解析によるプロジェクト内容解析方法は、コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するメイク情報解析によるプロジェクト内容解析方法において、コンピュータが、コマンドによって処理を起動してコマンドオプションを判断し、次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、この読み込んだデータからメイク実行時の内容を解析し、次に、前記保持しているコマンドオプションの内容のデータによってプロジェクト内容解析を起動し、さらに、プロジェクトファイル内容を読み込み、このプロジェクトに含まれる構成内容を解析し、このプロジェクト構成内容解析による情報結果を構成情報ファイルに格納して出力する。
【００１３】
また、前記メイク実行時の内容解析としては、メイクで指定するコンパイルオプション列の解析、メイク実行のためのソースファイル名情報の解析、メイク実行のためのライブラリ名情報の解析、生成されるモジュール名情報の解析が含まれる。
【００１４】
また、前記プロジェクトに含まれる構成内容の解析としては、少なくとも、プロジェクトに含まれるソースファイルとプロジェクトとの関連の解析、プロジェクトに含まれるヘッダファイルとプロジェクトとの関連の解析、プロジェクトに含まれるライブラリファイルとプロジェクトとの関連の解析、プロジェクトに含まれる出力オブジェクトファイルとプロジェクトとの関連の解析、ソースファイルとこのソースファイルから呼び出されるヘッダファイルとの関連の解析、プロジェクトに存在する関数とこの関数が所属するファイル又は呼び出しファイルとの関連の解析、プロジェクトに存在する変数及びこの変数が所属するファイル又は呼び出しファイルとの関連の解析があり、かつ、前記解析による情報において重複するデータを削除することもできる。
【００１５】
本発明のメイク情報解析によるプロジェクト内容解析システムは、コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するプロジェクト内容解析システムにおいて、プログラム群の更新及び生成情報を記述したメイクファイルと、メイクファイルに記述された内容が実行される場合の動作を仮想実行するメイクファイル仮想実行手段と、メイクファイル仮想実行手段での仮想実行によって得られた実動作状況を一時的に記録するメイク実行解析作業ファイルと、メイク実行解析作業ファイルに格納された結果に基づいてメイクファイルの実動作内容を解析するメイクファイル実行内容解析手段と、メイクファイル実行内容解析手段における解析内容を情報管理ファイルとして格納するプロジェクトファイルと、プロジェクトファイルの内容を読み出してプロジェクト内のソースを含む情報解析を行う対象となる外部処理手段を呼び出すための外部処理呼出手段とを備える構成としてある。
【００１６】
また、本発明のメイク情報解析によるプロジェクト内容解析システムは、コンパイルを行うためのメイク実行によってプロジェクトの内容を解析するプロジェクト内容解析システムにおいて、プログラム群の更新及び生成情報を記述したメイクファイルと、メイクファイルに記述された内容が実行される場合の動作を仮想実行するメイクファイル仮想実行手段と、メイクファイル仮想実行手段での仮想実行によって得られた実動作状況を一時的に記録するメイク実行解析作業ファイルと、メイク実行解析作業ファイルに格納された結果に基づいてメイクファイルの実動作内容を解析するメイクファイル実行内容解析手段と、メイクファイル実行内容解析手段における解析内容を情報管理ファイルとして格納するプロジェクトファイルと、プロジェクトファイルの内容を読み出すプロジェクト内容読込手段と、プロジェクト内容読込手段からのプロジェクト内のソースを含む情報解析を行う構成情報解析手段と、構成情報解析手段で得られた解析情報をファイル形式で出力する構成情報出力手段とを備える構成としてある。
【００１７】
また、本発明の情報記録媒体は、コマンドによって処理を起動してコマンドオプションを判断し、次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、この読み込んだデータからメイク実行時の内容を解析し、この解析した内容の解析情報をもとにモジュールを呼び出して起動する制御をコンピュータが実行するためのプログラムを格納している。
【００１８】
本発明の情報記録媒体は、コマンドによって処理を起動してコマンドオプションを判断し、次に、メイクファイルを読み込んで実動作情報をチェックしながら収集し、この収集した実動作情報の内容を順次解析してメイク実行時のデータを読み込み、この読み込んだデータからメイク実行時の内容を解析し、次に、保持しているコマンドオプションの内容のデータによってプロジェクト内容解析を起動し、さらに、プロジェクトファイル内容を読み込み、このプロジェクトに含まれる構成内容を解析し、このプロジェクト構成内容解析による情報結果を構成情報ファイルに格納して出力する制御をコンピュータが実行するためのプログラムを格納している。
【００１９】
このような本発明は、プロジェクトの内容を解析するための情報を格納するメイクファイル（又は、類似するターゲット生成ファイル）の内容を解析しており、このメイクファイルの解析の結果である生成ファイルに関する情報を、モジュール（外部処理手段）で利用するために、格納して保存し、かつ、出力できるようになる。
【００２０】
また、本発明は、メイクファイルの実行内容を収集管理することによって、収集管理されるターゲットを構成するソースファイル、ヘッダファイル及びライブラリファイルなどの構成内容の解析及び情報管理が出来るようになる。
【００２１】
これらの結果、高度なプロジェクト内容解析が可能になる。
【００２２】
【発明の実施の形態】
次に、本発明のメイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体の実施の形態を図面を参照して詳細に説明する。
図１は本発明の実施形態における構成を示すブロック図である。
【００２３】
図１において、この実施形態はプログラム制御によって動作するデータ処理装置１を有している。
【００２４】
なお、このデータ処理装置１は、小型汎用コンピュータと同様のハードウェア構成である。例えば、データ処理装置１はＣＰＵ、ワーキング用ＲＡＭ、プログラムを格納したＲＯＭ，ＦＤ，ＣＤ−ＲＯＭ，ＭＯドライバ、キーボード／座標入力装置、及びキーボード及び座標入力装置用入出力（Ｉ／Ｏ）回路、印刷装置接続用インターフェース回路、クロックゼネレータ、フラッシュメモリ、通信制御装置（モデムなど）等を備えた汎用的な構成であり、次に説明する機能構成を有している。
【００２５】
このデータ処理装置１は、その機能構成として、コンピュータ用などのプログラム群の更新、生成情報を記述したメイクファイル２（又は、メイクファイル２に類似するファイル）と、このメイクファイル２に記述された内容が実行される場合の動作を実現（適宜、仮想実行と記載する）するメイクファイル仮想実行手段３と、このメイクファイル仮想実行手段３での仮想実行によって得られた実動作状況を一時的に記録するメイク実行解析作業ファイル４とを備えている。
【００２６】
さらに、図１に示す例は、メイク実行解析作業ファイル４に格納された結果に基づいてメイクファイルの実動作内容を解析するメイクファイル実行内容解析手段５と、このメイクファイル実行内容解析手段５における解析内容を情報管理ファイルとして格納し、かつ、出力するためのプロジェクトファイル６と、このプロジェクトファイル６の内容を読み出し、プロジェクトのソースその他の情報解析を行う外部の処理（適宜、外部処理手段と記載する）を呼び出すための外部処理呼出手段７とを備えている。
【００２７】
なお、以下に説明する動作に対応するプログラムは、前記したＦＤ，ＣＤ−ＲＯＭ，ＭＯなどの情報記録媒体に格納して提供可能である。
【００２８】
次に、この実施形態の動作について説明する。
まず、図１に示す構成における要部動作について説明する。
メイクファイル仮想実行手段３は、メイクファイル２の記述内容が実際にメイクコマンドなどで実行する際に処理する内容を実行（仮想実行）し、この仮想実行による結果をメイク実行解析作業ファイル４に格納する処理を行う。また、メイクファイル仮想実行手段３がメイクファイル実行内容解析手段５を起動する。
【００２９】
この起動でメイクファイル実行内容解析手段５が、メイク実行解析作業ファイル４のデータを読み込んで、メイクファイル２によって実際にコンピュータが処理するプログラム群が生成される場合のコマンドラインオプションの動作状況を解析する。このメイクファイル実行内容解析手段５での解析結果をプロジェクトファイル６に格納する。さらに、メイクファイル実行内容解析手段５が外部処理呼出手段７を起動する。
【００３０】
この起動で外部処理呼出手段７が、プロジェクトファイル６の内容を読み込み、メイクファイル２で記述されているコンピュータが処理するプログラムのソースファイル及び呼び出されるヘッダファイルの内容の関係を一例とする情報解析を行うモジュール（外部処理手段）を呼び出す。
【００３１】
次に、図１に示す構成における全体の動作について詳細に説明する。
図２は実施形態の動作の処理手順を示すフローチャートである。
図１及び図２において、まず、コマンドによって処理を起動する（図２のステップＳ１）。次に、コマンドオプションの判断を行い、その内容（データＤ１）を図示しないメモリなどに格納して保持する（ステップＳ２）。これは外部処理へ引き渡すオプションなどで利用する。そして、メイクファイル２（データＤ２）の読込みを行い（ステップＳ３）、メイクファイルの実動作情報を、一例としてＵＮＩＸシステムコマンドのメイク実行中における−ｎオプションなどを利用してメイクチェックしながら収集する（ステップＳ４）。なお、−ｎオプションとは、コマンド行を出力するだけで実行しないものである。
【００３２】
ステップＳ４で収集に失敗したり収集できない場合（収集失敗・不可）は、処理を終了する。ステップＳ４で収集完了の場合は、収集した実動作情報をメイク実行解析作業ファイル４として出力し（ステップＳ５）、この出力したメイク実行解析作業ファイル４の内容（データＤ３）を順に解析するためのメイク実行解析作業ファイル解析処理を起動する（ステップＳ６）。ステップＳ６で起動したメイク実行解析作業ファイル解析処理によって、メイク実行解析作業ファイル４から実際にメイク実行時のデータを読み込む（ステップＳ７）。この後にメイク実行時の内容を解析する（ステップＳ８）。
【００３３】
このステップＳ８の処理の実行時の内容解析としては、図２に示すような例がある。
（ｉ）  メイクで指定するコンパイルオプション列の解析（ステップＳ８ａ）
（ｉｉ）  メイク実行のためのソースファイル名情報の解析（ステップＳ８ｂ）
（ｉｉｉ）メイク実行のためのライブラリ名情報の解析（ステップＳ８ｃ）
（ｉｖ）  生成されるモジュール名情報の解析（ステップＳ８ｄ）
このステップＳ８で解析された前記内容（ｉ）から（ｉｖ）は、後処理である外部解析モジュールなどでの解析のためにプロジェクトファイル６（データＤ４）に格納して保持し、かつ、出力する。
【００３４】
そして、得られた実行内容解析情報からメイク対象のプロジェクトに関するデータ収集などを行う呼出完了の場合には、そのための外部解析モジュールを呼び出す（ステップＳ９）。次に、このステップＳ９で呼び出された外部解析モジュールの起動を行って、処理が終了する（ステップＳ１０）。また、ステップＳ９で呼び出しを行わない場合や、エラーなどで呼び出しが不能の場合（呼出不可、エラー）でも処理が終了する。
【００３５】
次に、他の実施形態について図面を参照して詳細に説明する。
図３は他の実施形態の構成を示すブロック図である。
この図３において、前記した図１と同様の要素には同一の符号を付した。
図３に示す他の実施形態は、プログラム制御によって動作するデータ処理装置１Ａを有している。
【００３６】
この図３に示すデータ処理装置１Ａは、図１に示す構成と同様のメイクファイル２、メイクファイル仮想実行手段３、メイク実行解析作業ファイル４及びメイクファイル実行内容解析手段５を有している。
【００３７】
さらに、図３に示すデータ処理装置１Ａは、他の実施形態の構成に対応する、解析内容を情報管理ファイルの形で格納（保存）するためのプロジェクトファイル１６と、このプロジェクトファイル１６の内容を読み出すプロジェクト内容読込手段１７と、プロジェクト内のソース及び、その他の情報解析を行う構成情報解析手段１８とを有し、さらに、構成情報解析手段１８で得られた解析情報をファイル形式で出力する構成情報出力手段１９と、この構成情報出力手段１９が前記した解析情報を格納し、かつ、ファイル形式で出力する構成情報ファイル２０とを有している。
【００３８】
次に、他の実施形態の動作について説明する。
まず、要部の動作について説明する。
図３において、データ処理装置１Ａのメイクファイル２、メイクファイル仮想実行手段３、メイク実行解析作業ファイル４及びメイクファイル実行内容解析手段５は、図３の構成と同様に動作する。すなわち、メイクファイル仮想実行手段３は、メイクファイル２に記述されている内容が実際にメイクコマンドなどで実行する場合に処理される内容を実行（仮想実行）し、この仮想実行による結果をメイク実行解析作業ファイル４に格納する処理を行う。そして、メイクファイル仮想実行手段３が、メイクファイル実行内容解析手段５を起動する。
【００３９】
この起動によってメイクファイル実行内容解析手段５は、メイク実行解析作業ファイル４を読み込み、メイクファイル２によって実際にコンピュータ処理するプログラム群が生成される場合のコマンドラインオプションの動作状況を解析し、この解析結果をプロジェクトファイル１６に格納する。
【００４０】
次に、プロジェクト内容読込手段１７がプロジェクトファイル１６のファイル内容を読込み、さらに構成情報解析手段１８を起動する。この起動によって構成情報解析手段１８は、メイクファイル２で記述されたプロジェクトを構成するソースファイルやヘッダファイル群とともに、ソースファイルに含まれる関数及び呼び出してファイルの内容の関係などについて解析し、さらに構成情報出力手段１９を起動する。構成情報出力手段１９は、構成情報解析手段１８で解析された情報を構成情報ファイル２０に格納する。
【００４１】
続いて、他の実施形態の全体の動作について詳細に説明する。
図４及び図５は図３に示す他の実施形態の動作の処理手順を示すフローチャートである。
図４及び図５において、ステップＳ２１からステップＳ２８までは、図２中のステップＳ１からステップＳ８までと同様の処理である。すなわち、コマンドによって処理を起動する（図４のステップＳ２１）。次に、コマンドオプション判断を行い内容（データＤ１）を図示しないメモリに保持する（ステップＳ２２）。これは外部処理へ引き渡すオプションなどで利用する。そして、メイクファイル２（データＤ２）の読込みを行い（ステップＳ２３）、メイクファイル２の実動作情報を、一例としてメイク実行中における−ｎオプションなどを利用してメイクチェックしながら収集する（ステップＳ２４）。
【００４２】
なお、この収集方法は、メイクファイル２に記述された内容を字句によって解析する方法でも良い。具体的には、メイクファイル２の内容を先頭から順に一字一句解析してゆき、該当情報を収集する。さらに別の収集方法として、実行せずに情報を収集するダミーコンパイラをメイクファイル内のコンパイラ実行の行から起動させて、実行内容を解析するものがある。
【００４３】
ステップＳ２４で収集に失敗したり、収集できない場合（収集失敗・不可）は処理を終了する。ステップＳ２４で収集完了の場合は、収集した実動作情報をメイク実行解析作業ファイル４（データＤ３）として出力する（ステップＳ２５）。次に、この出力したメイク実行解析作業ファイル４（データＤ３）の内容を順に解析するメイク実行解析作業ファイル解析処理を起動する（ステップＳ２６）。ステップＳ２６によって起動されたメイク実行解析作業ファイル解析処理によって、データＤ３に格納したメイク実行解析作業ファイル４から実際にメイク実行する場合のデータを読み込んで（ステップＳ２７）、メイク実行時の内容を解析する（ステップＳ２８）。
【００４４】
このステップＳ２８の処理の実行時の内容解析は、前記した（ｉ）から（ｉｖ）と同様である。すなわち、図４に示すメイクで指定するコンパイルオプション列の解析（ステップＳ２８ａ）、メイク実行のためのソースファイル名情報の解析（ステップＳ２８ｂ）、メイク実行のためのライブラリ名情報の解析（ステップＳ２８ｃ）、生成されるモジュール名情報の解析（ステップＳ２８ｄ）である。
【００４５】
このステップＳ２８で解析された内容（ｉ）から（ｉｖ）は、後処理である外部解析モジュールなどでの解析のためにプロジェクトファイル６（データＤ４）として保持し、かつ、出力する。
【００４６】
そして、起動時に指定されたコマンドオプションなどの内容のデータＤ１によるプロジェクト内容解析処理を起動する（ステップＳ２９）。コマンドオプションの内容は、プロジェクト内容解析処理における条件などを引き渡すために利用する。ここでステップＳ２９で呼び出しに失敗した場合（呼出不可、エラー）、処理を終了する。次にプロジェクトファイル内容を読み込んで（ステップＳ３０）、プロジェクトに含まれる構成内容を解析する（ステップＳ３１）。
【００４７】
このステップＳ３１の処理のプロジェクトに含まれる構成内容の解析としては、図５に示す（ａ）から（ｉ）の例のようなものがである。
（ａ）プロジェクトに含まれるソースファイルとプロジェクトとの関連の解析（ステップＳ３１ａ）
（ｂ）プロジェクトに含まれるヘッダファイルとプロジェクトとの関連の解析（ステップＳ３１ｂ）
（ｃ）プロジェクトに含まれるライブラリファイルとプロジェクトとの関連の解析（ステップＳ３１ｃ）
（ｄ）プロジェクトに含まれる出力オブジェクトファイルとプロジェクトとの関連の解析（ステップＳ３１ｄ）
【００４８】
（ｅ）ソースファイルとこのソースファイルから呼び出されるヘッダファイルとの関連の解析（ステップＳ３１ｅ）
（ｆ）プロジェクトに存在する関数とこの関数が所属するファイル又は呼び出しファイルとの関連の解析（ステップＳ３１ｆ）
（ｇ）プロジェクトに存在する変数とこの変数が所属するファイル又は呼び出しファイルとの関連の解析（ステップＳ３１ｇ）
（ｈ）その他記述した以外に考えられる関連情報の解析（ステップＳ３１ｈ）
（ｉ）ステップＳ３１ａからステップＳ３１ｈで解析された情報において重複するデータの削除（ステップＳ３１ｉ）
【００４９】
これらのプロジェクト構成内容解析が終わると、解析した情報結果を、構成情報ファイル２０（データＤ５）に格納する（ステップＳ３２）。この構成情報ファイル２０は、リポジトリなどのデータベースに登録するなどして活用することが出来る。
【００５０】
以上の実施形態をまとめると次の（１）（２）（３）ようになる。
（１）メイクファイル２（又は、メイクファイル２に類似するファイル）で記述されているプロジェクト生成のための情報を解析して、プロジェクトを構成する各種情報を蓄積したファイルを生成する。すなわち、ディレクトリ名やファイル名などで解析対象を決めていないため、解析とは無関係な情報までが含まれなくなり、解析対象範囲を特定し易くなる。この結果、メイクファイル２で記述されているプロジェクトの内容（各種情報の関係）をつかむことが出来る。
【００５１】
これを利用することにより、一例としてプロジェクトに含まれるソースファイルとヘッダファイルの相関関係や、ソースファイルに含まれる関数との相関関係などが解析できる。
【００５２】
（２）メイクファイル２で記述されるプロジェクトであれば、そのプロジェクトを構成するメイクファイル２を解析するためプロジェクト本体の記述内容を問わない。すなわち、プロジェクトや、このプロジェクトを構成するファイルを直接解析するために、解析対象とする言語を特定する必要がなくなり、対象となる記述言語が限定されなくなる。
【００５３】
また、プロジェクトを構成するファイル内までも踏み込む解析を行う場合にも、プロジェクト内の構成ファイルにしか存在しない情報のみを取得する部分を別途追加するだけで実現できる。
【００５４】
（３）メイクファイル２に含まれる実動作情報をチェックしながら収集を行うため、実際にすべてのモジュールをメイク実行のための必要がなくなり、実際のメイク実行の処理と同様なエラーチェックが出来る。このためエラーで実行できない情報も収集しなくなる。したがって、プロジェクトメイクのテストが簡素化される。
【００５５】
【発明の効果】
以上の説明から明らかなように、本発明によれば、プロジェクトの内容を解析するための情報を格納するメイクファイル（又は、類似するターゲット生成ファイル）の内容を解析しており、このメイクファイルの解析の結果である生成ファイルに関する情報を、モジュール（外部処理手段）で利用するために格納（保存）して出力できるという効果が得られる。
【００５６】
また、本発明は、メイクファイルの実行内容を収集管理することによって、この収集管理されるターゲットを構成するソースファイル、ヘッダファイル及びライブラリファイルなどの構成内容の解析及び情報管理が出来るという効果が得られる。
これらの結果、本発明は高度なプロジェクト内容解析が可能になる。
【図面の簡単な説明】
【図１】本発明のメイク情報解析によるプロジェクト内容解析方法及びそのシステム並びに情報記録媒体の実施形態における構成を示すブロック図である。
【図２】実施形態の動作の処理手順を示すフローチャートである。
【図３】他の実施形態の構成を示すブロック図である。
【図４】他の実施形態の処理手順を示すフローチャートである。
【図５】図４に続く他の実施形態の処理手順を示すフローチャートである。
【符号の説明】
１，１Ａ  データ処理装置
２  メイクファイル
３  メイクファイル仮想実行手段
４  メイク実行解析作業ファイル
５  メイクファイル実行内容解析手段
６，１６  プロジェクトファイル
７  外部処理呼出手段
１７  プロジェクト内容読込手段
１８  構成情報解析手段
１９  構成情報出力手段
２０  構成情報ファイル
【図１】
0003603718.tif 000002
【図２】
0003603718.tif 000003
【図３】
0003603718.tif 000004
【図４】
0003603718.tif 000005
【図５】
0003603718.tif 000006