JP2001075792A - Makefile自動作成によるプログラム作成方法 - Google Patents

Makefile自動作成によるプログラム作成方法

Info

Publication number
JP2001075792A
JP2001075792A JP24825999A JP24825999A JP2001075792A JP 2001075792 A JP2001075792 A JP 2001075792A JP 24825999 A JP24825999 A JP 24825999A JP 24825999 A JP24825999 A JP 24825999A JP 2001075792 A JP2001075792 A JP 2001075792A
Authority
JP
Japan
Prior art keywords
information
source file
function
makefile
program
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
JP24825999A
Other languages
English (en)
Inventor
Hiromi Aoki
裕美 青木
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.)
NEC Yonezawa Ltd
Original Assignee
NEC Yonezawa 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 NEC Yonezawa Ltd filed Critical NEC Yonezawa Ltd
Priority to JP24825999A priority Critical patent/JP2001075792A/ja
Publication of JP2001075792A publication Critical patent/JP2001075792A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 システムにより異なる仕様に対応した実行プ
ログラムが誰でも作成できるMakefile自動作成
によるプログラム作成方法を提供すること。 【解決手段】 登録情報群6から処理機能を情報入手機
能1により取り込んで、作成するプログラムの処理機能
を選択し、その処理に該当する要入力項目を取得してコ
ンパイルに必要ファイル名を取得し、要求項目情報を解
析し、編集の必要なファイル名と該当項目のマクロ名を
取得し、ソースファイルの編集が必要な場合にソースフ
ァイル編集機能3により入手した情報を編集の必要なソ
ースファイルに織り込み、Makefileに取得した
ソースファイル名、ソースファイルから生成したオブジ
ェクトファイル名を織り込み、Makefile起動機
能5により起動した結果に基づき、必要なソースファイ
ルのみが必要な情報を織り込んだ形でコンパイル、リン
クされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、プログラム作成
時に、可変情報を対話形式により入力し、必要に応じて
ソースファイルを編集したり、Makefileに必要
事項を織り込んで起動し、プログラムやMakefil
eに関する知識がなくても、プログラムの変更、機能の
追加、削除などが容易に行えるようにしたMakefi
le自動作成によるプログラム作成方法に関する。
【0002】
【従来の技術】基本となるプログラムをそれぞれ仕様が
異なるシステムに展開する必要がある場合に、従来はソ
ースファイル自身を修正し、コンパイル、リンクをし直
す必要がある。また、わずかな変更であっても、プログ
ラムを理解し、コンパイルするための知識がなければ、
作業ができなかった。
【0003】そこで、たとえば、特開平03−1541
24号公報には、ソースファイル内のコンパイラ用のコ
マンドをテキストエディタに展開することにより、テキ
ストエディタにおけるプログラム処理を効率的に編集、
確認処理できるように、コンピュータソースプログラム
に対するテキストエディタ処理方式が提案されている。
すなわち、この公報の場合は、コンピュータソフトウェ
アのテキストエディタに入力されたソースプログラム内
のコンパイラ処理系に対する特定コマンドをソースプロ
グラムが格納されるファイルバッファより検索し、特定
コマンドに対応する動作を起動し、複数の依存関係を示
すこのファイルバッファに含まれる複数ファイル名の組
み合わせの集合から全体的な依存関係を導くことが開示
されている。
【0004】この場合、プログラムの内容に関わる情報
は、エディタ機能によって直接プログラマがソースファ
イルを編集することにより織り込まれ、情報として入力
装置より入力するのは、エディタとの機能としてどれを
選択するかということであり、プログラムの内容に関わ
るものではない。また、Makefile作成に関して
は、ソースファイル上のコンパイラコマンドを検索して
ファイルの依存関係を調査し、その結果を織り込むのみ
であり、Makefileの起動はしないものである。
【0005】
【発明が解決しようとする課題】このように、従来のテ
キストエディタ処理方式では、入力装置より入力する情
報は、プログラムに関わる内容のものではなく、また、
Makefileの起動はしないものであり、したがっ
て、上記のように基本となるプログラムをそれぞれ仕様
が異なるシステムに展開する必要がある場合に、ソース
ファイル自身を修正し、コンパイル、リンクをし直す必
要性に対する解決策とはならず、しかも、システムによ
り仕様の異なるプログラムをコンパイルするための知識
がなければ、プログラムの変更作業ができないという課
題を解決するに至らない。
【0006】この発明は、上記従来の課題を解決するた
めになされたもので、システムにより仕様の異なるプロ
グラムをコンパイルするための知識がなくても、システ
ムにより異なる仕様に対応した実行プログラムが誰にで
も作成できるとともに、プログラムのシステムにより仕
様が異なる複数のプログラムを作成してもソースファイ
ルの管理が単純になり、しかも、まったく異なるシステ
ムにも流用することができるMakfile自動作成に
よるプログラム作成方法を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、この発明のMakfile自動作成によるプログラ
ム作成方法は、情報入手機能により処理機能情報に登録
されている処理機能を画面表示して作成するプログラム
の処理機能を入力装置より選択する第1ステップと、上
記選択された処理機能の処理に該当する要入力項目を処
理機能ごとの入力項目情報ブロックより取得してコンパ
イルに必要なファイル名を取得する第2ステップと、上
記入力装置より要求項目情報を入手して解析し、その要
求項目情報を織り込むために編集の必要なファイル名と
該当項目のマクロ名を入力項目のマクロ名情報ブロック
より取得する第3ステップと、Makefile編集機
能により取得したソースファイル名、ソースファイルか
ら生成したオブジェクトファイル名、上記入力装置より
入力された情報、あるいはそれを解析して算出した情報
を取得したマクロ名によりマクロ定義した記述を埋め込
む第4ステップと、ソースファイルの編集が必要な場合
にソースファイル編集機能により入手した情報を編集の
必要なソースファイルに織り込み、Makefileに
取得したソースファイル名、ソースファイルから生成し
たオブジェクトファイル名を織り込む第5ステップと、
上記Makefileを起動した結果に基づき選択され
た機能を実現させるために必要なソースファイルのみが
必要な情報を織り込んだ形でコンパイル、リンクされ、
異なる使用に即したプログラムを作成する第6ステップ
とを含むことを特徴とする。
【0008】そのため、処理機能情報に登録されている
処理機能を情報入手機能により取り込んで画面に表示
し、画面に表示されている処理機能から作成するプログ
ラムの処理機能を入力装置により選択し、選択された処
理機能の処理に該当する要入力項目を処理機能ごとの入
力項目情報ブロックより取得してコンパイルに必要なフ
ァイル名を取得する。次に、入力装置より要求項目情報
を入手して解析し、その要求項目情報を織り込むために
編集の必要なファイル名と該当項目のマクロ名を入力項
目のマクロ名情報ブロックより取得する。Makefi
le編集機能により取得したソースファイル名、ソース
ファイルから生成したオブジェクトファイル名、入力装
置より入力された情報、あるいはそれを解析して算出し
た情報を取得したマクロ名によりマクロ定義した記述を
埋め込む。ソースファイルの編集が必要な場合にソース
ファイル編集機能により入手した情報を編集の必要なソ
ースファイルに織り込み、Makefileに取得した
ソースファイル名、ソースファイルから生成したオブジ
ェクトファイル名を織り込む。Makefileを起動
した結果に基づき選択された機能を実現させるために必
要なソースファイルのみが必要な情報を織り込んだ形で
コンパイル、リンクされ、異なる使用に即したプログラ
ムを作成するようにしたので、システムにより仕様の異
なるプログラムをコンパイルするための知識がなくて
も、システムにより異なる仕様に対応した実行プログラ
ムが誰にでも作成できるとともに、プログラムのシステ
ムにより仕様が異なる複数のプログラムを作成してもソ
ースファイルの管理が単純になり、しかも、まったく異
なるシステムにも流用することができる。
【0009】
【発明の実施の形態】次に、この発明によるMakef
ile自動作成によるプログラム作成方法の実施の形態
について図面に基づき説明する。この発明のMakef
ile自動作成によるプログラム作成方法は、それぞれ
図示しないが、中央処理装置、記憶装置、画面表示装
置、入力装置を有し、makeツール、コンパイラ、リ
ンカが動作可能なシステム上で動作する。図1はこの発
明によるMakefile自動作成によるプログラム作
成方法の第1実施の形態に適用される機能ブロック図で
ある。
【0010】この図1に示す構成要素は、システムの上
記画面表示装置における画面表示および上記入力装置に
よる情報入手機能1と、入手情報解析機能2と、ソース
ファアイル編集機能3と、Makefile編集機能4
と、Makefile起動機能5と、登録情報群6と、
ソースファイル群7とからなる。このうち、ソースファ
イル群7は、プログラムを作成するためにコンパイルさ
れる可能性のあるすべてのソースファイルであり、シス
テムに依存する可変情報部分をマクロ定義し、必要な情
報を登録情報群に登録する。
【0011】また、図2は、上記登録情報群6の機能構
成を示すブロック図である。この図2において、登録情
報群6における登録情報の構成は、処理機能情報ブロッ
ク8が含まれている。この処理機能情報ブロック8はシ
ステムの記憶装置に登録されている「処理機能1」から
「処理機能n」のn個の処理機能で構成されている。こ
の処理機能情報ブロック8はプログラムが実現可能な機
能項目を登録する。
【0012】この「処理機能1」から「処理機能n」の
n個の処理機能ごとに要入力項目情報ブロック9が対応
するようにしている。要入力項目情報ブロック9は、
「処理機能1」から「処理機能n」のそれぞれに対応し
て「入力項目1情報」から「入力項目n情報」で構成さ
れている。この処理機能ごとの要入力項目情報9は、選
択された処理機能をプログラム化するために入手するの
に必要のある情報を登録する。
【0013】さらに、登録情報群6における登録情報の
構成として、「処理機能1」から「処理機能n」ごとの
ソースファイル情報ブロック10、編集ファイル情報ブ
ロック11、入力項目のマクロ名情報ブロック12を含
んでいる。このうち、処理機能ごとのソースファイル情
報ブロック10は、処理機能情報ブロック8から選択さ
れた処理機能を実現させるために必要な「ファイル名
1」〜「ファイル名n」を登録する。編集ファイル情報
ブロック11は、入手した情報をプログラムに織り込む
ために編集の必要なファイル名を登録する。また、上記
入力項目のマクロ名情報ブロックは、Makefile
のマクロ定義を編集する際に、プログラム内部で何とい
うマクロ名で定義してあるかを登録する。
【0014】次に、この発明による第1実施の形態の動
作について図3のフローチャートに沿って説明する。ま
ずスタートして、はじめに図1に示す情報入手機能1に
より、システムの記憶装置に記憶されている登録情報群
6に登録してある処理機能情報ブロック8の「処理機能
1」から「処理機能n」をシステムの画面表示装置の画
面に表示する。次いで、この画面に表示された「処理機
能1」〜「処理機能n」のうち、作成するプログラムの
処理機能をシステムの入力装置の操作により選択する
(ステップ13)。
【0015】所望の処理機能が選択されると、その選択
された処理機能に該当する図2に示す要入力項目ブロッ
ク9の「入力項目1情報」〜「入力項目n情報」を処理
機能ごとに取得する(ステップ14)。次に、コンパイ
ルに必要なファイル名を図2に示す処理機能ごとのソー
スファイル情報ブロック10からコンパイルファイル名
である「ファイル名1」〜「ファイル名n」のいずれか
を取得する(ステップ15)。
【0016】次に、システムの入力装置を操作すること
により、要求項目情報の入力が終了しているか、否かの
判断を行い(ステップ16)、この判断の結果、要求項
目情報の入力が終了していないと判断すると、入力され
ている要求項目情報を情報解析機能2により解析する
(ステップ17)。この解析した要求項目情報を織り込
むために、ソースファイル編集機能3による編集に必要
な情報として、編集ファイル情報ブロック11から、編
集ファイル情報を取得するとともに(ステップ18)、
該当項目のマクロ名を入力項目のマクロ名情報ブロック
12から取得する(ステップ19)。
【0017】次に、処理機能ごとのソースファイル情報
ブロック10から取得したファイル名(ソースファイル
名)、ソースファイル群7から生成したオブジェクトフ
ァイル名、システムの入力装置より入力された情報、あ
るいはそれを情報解析機能2により解析して算出した情
報がソースファイルの編集が必要ないと判断した場合に
は(ステップ20)、これらの情報をMakefile
編集機能4により上記取得したマクロ名によりマクロ定
義した記述を埋め込む(ステップ22)。
【0018】また、ステップ20での判断の結果、上記
各情報がソースファイルの編集が必要であると判断した
場合には、上記入手した情報をソースファイル編集機能
3により編集の必要なソースファイルに織り込む(ステ
ップ21)。次に、Makefile編集機能4によ
り、Makefileに取得したソースファイル名、ソ
ースファイルから生成したオブジェクトファイル名を織
り込む(ステップ22)。
【0019】次に、上記のようにして、ソースファイル
名、オブジェクトファイル名を織り込んだ後に、上記要
求項目情報の選択が終了していなければ、再びステップ
13の処理に戻り、上記一連の処理を続行するが(ステ
ップ23)、上記要求項目情報の選択が終了すると、M
akefileを起動して(ステップ24)、選択され
た要求項目情報に対応する機能を実現するために、必要
なソースファイルのみが必要な情報を織り込んだ形でコ
ンパイルおよびリンクされ、異なるシステムの異なる仕
様に即したプログラムが作成される。
【0020】
【発明の効果】以上のように、この発明によれば、プロ
グラム作成時に可変情報を対話形式で入力して必要に応
じてソースファイルを編集したり、あるいはMakef
ileに必要な必要事項を織り込んでMakefile
を起動するようにしたので、ベースとなる基本プログラ
ムのソースを作成すると、システムの仕様さえ明確であ
れば、それぞれのシステムより異なる仕様に対応して実
行プログラムが誰にでも作成することができる。また、
プログラムのシステムにより仕様が異なる複数のプログ
ラムを作成しても、ソースファイルは1種類だけであ
り、したがって、ソースファイルの管理が単純になる。
さらに、使用する機能ごとのソースファイルの汎用性が
高まるため、種々の異なるシステムに流用することも容
易になる。
【図面の簡単な説明】
【図1】この発明によるMakefile自動作成によ
るプログラム作成方法の第1実施の形態に適用される機
能ブロック図である。
【図2】図1の機能ブロック図における登録情報群の構
成を示す機能ブロック図である。
【図3】この発明によるMakefileの自動作成に
よるプログラム作成方法の第1実施の形態の動作を説明
するためのフローチャートである。
【符号の説明】
1……情報入手機能、2……入手情報解析機能、3……
ソースファイル編集機能、4……Makefile編集
機能、5……Makefile起動機能、6……登録情
報群、7……ソースファイル群、8……処理機能情報ブ
ロック、9……要入力項目情報ブロック、10……処理
機能ごとのソースファイル情報ブロック、11……編集
ファイル情報ブロック、12……入力項目のマクロ名情
報ブロック。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 情報入手機能により処理機能情報に登録
    されている処理機能を画面表示して作成するプログラム
    の処理機能を入力装置より選択する第1ステップと、 上記選択された処理機能の処理に該当する要入力項目を
    処理機能ごとの入力項目情報ブロックより取得してコン
    パイルに必要なファイル名を取得する第2ステップと、 上記入力装置より要求項目情報を入手して解析し、その
    要求項目情報を織り込むために編集の必要なファイル名
    と該当項目のマクロ名を入力項目のマクロ名情報ブロッ
    クより取得する第3ステップと、 Makefile編集機能により取得したソースファイ
    ル名、ソースファイルから生成したオブジェクトファイ
    ル名、上記入力装置より入力された情報、あるいはそれ
    を解析して算出した情報を取得したマクロ名によりマク
    ロ定義した記述を埋め込む第4ステップと、 ソースファイルの編集が必要な場合にソースファイル編
    集機能により入手した情報を編集の必要なソースファイ
    ルに織り込み、Makefileに取得したソースファ
    イル名、ソースファイルから生成したオブジェクトファ
    イル名を織り込む第5ステップと、 上記Makefileを起動した結果に基づき選択され
    た機能を実現させるために必要なソースファイルのみが
    必要な情報を織り込んだ形でコンパイル、リンクされ、
    異なる使用に即したプログラムを作成する第6ステップ
    と、 を含むことを特徴とするMakefile自動作成によ
    るプログラム作成方法。
JP24825999A 1999-09-02 1999-09-02 Makefile自動作成によるプログラム作成方法 Pending JP2001075792A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24825999A JP2001075792A (ja) 1999-09-02 1999-09-02 Makefile自動作成によるプログラム作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24825999A JP2001075792A (ja) 1999-09-02 1999-09-02 Makefile自動作成によるプログラム作成方法

Publications (1)

Publication Number Publication Date
JP2001075792A true JP2001075792A (ja) 2001-03-23

Family

ID=17175500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24825999A Pending JP2001075792A (ja) 1999-09-02 1999-09-02 Makefile自動作成によるプログラム作成方法

Country Status (1)

Country Link
JP (1) JP2001075792A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006295636A (ja) * 2005-04-12 2006-10-26 Toshiba Corp データ放送更新システム
JP2007048072A (ja) * 2005-08-10 2007-02-22 Hitachi Ltd プログラムローディング装置
JP2014048753A (ja) * 2012-08-29 2014-03-17 Kyocera Document Solutions Inc 画像形成装置用dll生成方法、コンフィグスイッチ生成プログラムおよび機能仕様書ファイル
CN116756196A (zh) * 2023-08-16 2023-09-15 麒麟软件有限公司 一种快速编辑Makefile文件的方法和插件

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006295636A (ja) * 2005-04-12 2006-10-26 Toshiba Corp データ放送更新システム
JP4550650B2 (ja) * 2005-04-12 2010-09-22 株式会社東芝 データ放送更新システム
JP2007048072A (ja) * 2005-08-10 2007-02-22 Hitachi Ltd プログラムローディング装置
JP2014048753A (ja) * 2012-08-29 2014-03-17 Kyocera Document Solutions Inc 画像形成装置用dll生成方法、コンフィグスイッチ生成プログラムおよび機能仕様書ファイル
CN116756196A (zh) * 2023-08-16 2023-09-15 麒麟软件有限公司 一种快速编辑Makefile文件的方法和插件
CN116756196B (zh) * 2023-08-16 2023-12-26 麒麟软件有限公司 一种快速编辑Makefile文件的方法和插件

Similar Documents

Publication Publication Date Title
US8418132B2 (en) Application description language
US7080350B2 (en) Method for developing Web applications, development support system and storage medium for storing programs developed according to the method
JP5102828B2 (ja) アプリケーション・データ・エディタを生成するための方法及びシステム
JP5710852B2 (ja) 設計時および実行時にワークフローを継ぎ目なくオーサリングし編集するためのフレームワーク
US8132147B2 (en) Semantic interpretation of software models for generating user interfaces
JP5192634B2 (ja) 宣言順レポートパラメータ化
JPH09212352A (ja) プログラム開発支援システム
US20050149868A1 (en) User interface application development program and development apparatus
JPH09128379A (ja) 情報処理方法
US6032198A (en) Application design supporting method and apparatus for client/server system
AU2003204197B2 (en) System and method for defining and using subclasses declaratively within markup
JP2001075792A (ja) Makefile自動作成によるプログラム作成方法
CN114721647B (zh) 一种基于无代码应用开发的面向对象编程方法
JPH06348766A (ja) ツール組み込み方法及び装置
JP4686117B2 (ja) ソースコード変換装置、ソースコード変換方法、およびプログラム
JP2006236375A (ja) Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラム
US20040194022A1 (en) Kernel configuration tool
JP2007094453A (ja) プログラム開発支援システム、プログラム開発支援方法およびプログラム
US20080250395A1 (en) Method for Producing Documentation
McRitchie et al. Managing component variability within embedded software product lines via transformational code generation
JP2004334464A (ja) ユーザインタフェース対応プログラム生成装置、およびユーザインタフェース対応プログラム生成方法、並びにコンピュータ・プログラム
JP3700768B2 (ja) ソフトウェア運用支援システム
JP2004102952A (ja) プログラム開発資源の保存方法
JPH0895775A (ja) プログラム作成編集装置
JPH11327889A (ja) プログラム開発支援装置及び方法並びにプログラム開発支援用ソフトウェアを記録した記録媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040611