1

ワイルドカード ターゲットを偽物として宣言したいのですが、偽物はワイルドカードをサポートしていません。

私のメイクファイル:

%.config:
        gcc <<compile>>

特定の構成ファイルを使用して、ユーザーが私のmakefileを使用してプロジェクトをコンパイルできるようにしたい:

make something.config
make something_else.config

明らかに、ターゲットファイルが存在するため、ターゲットを偽物にする必要がありますが、単に次のように記述します。

.PHONY: %.config

動作しません。ここで、makeapp が別の構文をサポートしていることを見てきました。

$(phony %.config): ...

しかし、私はmakeしか使えず、makeappは使えません。

makeでそれを行う方法はありますか?

4

1 に答える 1

2

これらは相反する目的です。偽のターゲットとは、実際のファイルに対応しないターゲットです。あなたの場合、ファイルは存在しますが、実際にはターゲットではありません。

構成ファイルの名前をターゲットとして使用しないことをお勧めします。代わりに、次のいずれかに基づいてシステムを構築します。

make something_else
make CONFIG=something_else.config
于 2012-06-20T11:31:37.250 に答える