automake отслеживание зависимостей для нестандартного суффикса C ++ - PullRequest
0 голосов
/ 17 ноября 2009

как я могу заставить autokeke генерировать отслеживание зависимостей для нестандартных файлов суффикса C ++? в частности, я имею в виду создание содержимого файла каталога .deps. Я также использую libtool.

Спасибо

Ответы [ 2 ]

2 голосов
/ 17 декабря 2009

Взгляните на этот раздел в руководстве по автоматике по умолчанию _SOURCES. Это похоже на поговорку:

bin_PROGRAMS = target
AM_DEFAULT_SOURCE_EXT = .foo

поможет вам пройти первый шаг. Итак, теперь automake знает, где искать первую зависимость (target.foo), и попросит GCC вычислить зависимости target.foo на основе имен файлов заголовков, которые включены в этот файл. GCC выкладывает выведенные имена объектов, преобразуя включенные stem.h -> stem.o. И вот где я врезался в стену. Чтобы ваш скрипт automake был полностью переносимым, вы не можете использовать шаблоны %. Вы должны использовать суммирование суффиксов, как продемонстрировал Уоллик в своем ответе.

В зависимости от ваших требований переносимости, вы можете просто проигнорировать это и определить неявное правило в Makefile.in как что-то вроде:

%.o : %.foo
    $(CXX) -o $@ -c $(CPPFLAGS) $(CXXFLAGS) $<

Если переносимость является строгим требованием, боюсь, вам не повезет без большого количества взлома.

0 голосов
/ 15 декабря 2009

Добавить неявное правило. Например, для компиляции *.foo файлов с использованием компилятора foo foocc:

.foo.o:
      foocc -c -o $@ $<
...