質問

私はマスターメイクファイルを書いています複数のAutoConfベースのライブラリをコンパイルしてインストールしています。すべてが最初の外出先にうまく機能します。この問題は次のとおりです。個別にこれらのライブラリのいずれかに取り組んでいて、「作る&& make install」が接頭辞フォルダ内のヘッダーファイルを上書きします(たとえそれらが未着であっても)。これにより、すべての従属ライブラリが最初からコンパイルされます。

メイクファイルにハッキングせずに不要な再コンパイルを回避する方法はありますか?

役に立ちましたか?

解決

おそらく解決策は少し遅れているが

./configure INSTALL="install -p"
.

再コンパイルの問題を修正しました。このフラグにより、GNUインストールはインストールされているファイルのタイムスタンプを組み込みファイルのタイムスタンプに設定させます。

他のヒント

依存グラフを確立するためだけに存在する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 $@
.

それでは、libx-builtが新しい場合にのみ依存性のlibyビルドを作成します。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top