Для тех, кто не знаком с IDL (языком описания интерфейса), он абстрагирует описание данных для использования на разных платформах (java, c, C++ и т. Д.). Мой проект имеет зависимости Foo.c, Foo.h, FooHelper.c и FooHelper.h, которые сгенерированы из Foo.idl. Как выполнить произвольную команду при изменении Foo.idl, но все еще включить Foo.c, FooHelper.c в процессе сборки?Создание объектов IDL с использованием automake/Makefile.am
Мои текущие попытки добавляют правило 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.