IDL(インターフェース記述言語)に慣れていない人のために、プラットフォーム(java、c、c ++など)で使用するためにデータ記述を抽象化します。私のプロジェクトには、Foo.idlから生成された依存関係Foo.c、Foo.h、FooHelper.c、およびFooHelper.hがあります。Foo.idlが変更されたときに任意のコマンドを実行し、ビルドプロセスにFoo.c、FooHelper.cを含めるにはどうすればよいですか?
私の現在の試みは、Makefile.amにルールを追加します。ルールが生成されたMakefileにコピーされることを期待しています。
私が試してみました:
Foo.idl : Foo.idl
${the_generate_command}
次に、Foo.idlをmy_program_SOURCESに追加しましたが、ビルド時にthe_generate_commandを実行しません。
IDLからの生成に成功しました
Foo.c Foo.h FooHelper.h FooHelper.c : Foo.idl
${the_generate_command}
ただし、Foo.c、FooHelper.cはコンパイルプロセスに追加されないため、ビルドされることはなく、the_generate_commandによって生成されるだけです。
すべてのコード(idlを含む)は$ PROJECT_DIR/srcにあります。