对于那些不熟悉IDL(接口描述语言)的人来说,它抽象了跨平台(java,c,C++等)使用的数据描述。我的项目有从Foo.idl生成的依赖项Foo.c,Foo.h,FooHelper.c和FooHelper.h。如何在Foo.idl更改时运行任意命令,但在构建过程中仍包含Foo.c,FooHelper.c?使用automake/Makefile.am生成IDL实体
我当前的尝试将一条规则添加到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中。