extconf.rb: Как создать цели make-файла в зависимости от изменений файла заголовка?

В моем extconf.rb, Я имею

$srcs = %w{foo.cpp bar.cpp}
$objs = %w{foo bar}

Каждый из них зависит от нескольких заголовочных файлов. Если я touch foo.cpp или же touch bar.cpp, а затем сделать rake compile, он перекомпилирует соответствующий объектный файл.

Но касаясь .h файл не имеет такого же эффекта, очевидно. Я не могу вспомнить, является ли это симптомом моего использования extconf.rb или просто факт кодирования в C / C ++.

Есть ли способ, которым я могу направить extconf.rb написать make-файл, который знает об этих заголовочных файлах?

2

Решение

Вы не делаете это непосредственно в extconf.rb; для любой причины, mkmf использует отдельный файл с именем depend, чтобы указать эти виды вещей. Вы помещаете все свои зависимости в ту же форму, что и при написании make-файла вручную; итак, для файла foo.cpp что использовал client.h а также wombat.h, вы бы добавили следующую строку в depend:

foo.o: client.h wombat.h`

В процессе построения вашего Makefile, mkmf скопирует содержимое этого файла в ваш Makefileв результате чего эти правила должны соблюдаться как часть процесса сборки.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]