Отслеживание автоматических зависимостей для нестандартного суффикса C ++

StackOverflow https://stackoverflow.com/questions/1751352

  •  20-09-2019
  •  | 
  •  

Вопрос

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

Спасибо

Это было полезно?

Решение

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

bin_PROGRAMS = target
AM_DEFAULT_SOURCE_EXT = .foo

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

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

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

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

Другие советы

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

.foo.o:
      foocc -c -o $@ $<
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top