Сделать установку причин перекомпилирования

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

  •  14-09-2020
  •  | 
  •  

Вопрос

Я пишу главный makefile для компиляции и установки нескольких библиотек на основе Autoconf, которые зависят друг над другом.Все хорошо работает для первого года.Вопрос: Если я работаю над одним из этих библиотек индивидуально и выполняю файлы заголовка «Make && Make Install» в папке префикса, перезаписываются (даже если они нетронутыми).Это вызывает все зависимые библиотеки для компиляции с нуля.

Есть ли способ избежать ненужных переголонов, не взламываясь в Makefiles?

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

Решение

Может быть, решение немного поздно, но

./configure INSTALL="install -p"
.

исправляет проблему перекомпиляции.Этот флаг заставляет GNU установить Timestamps установленных файлов на временные метки созданных файлов.

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

Вы можете использовать Sentinel файлы, которые существуют только для установления графика зависимости.Например.

prefix := /usr/local

.PHONY: all
all: libx-built

libx-built \
  : libx.tar.gz \
  ; tar xzvf $@ \
  && cd libx \
  && ./configure --prefix=$(prefix) \
  && make && make install \
  && touch $@
.

Тогда вы сделаете зависимые liby Build только тогда, когда Libx-STORM - это новый.

liby-built \
  : liby.tar.gz libx-built \
  ; ...
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top