Makefileの%記号はどういう意味ですか?

Makefileの%記号はどういう意味ですか?

私はmakefileで遊んで偶然発見しました。%。または%.氏。私が理解しているところによると、すべてを指定します。またはああ文書。しかし、これがうまくいく理由は次のとおりです。

%.o: %.c
        $(CC) -c $^  -o $@  

これはうまくいきません

SOURCE := $(wildcard *.c)

$(SOURCE:.c=.o): SOURCE
        $(CC) -c $^  -o $@

両方の式はすべてのファイルを指定します。だから何%。makeファイルのシンボルは何をしますか?

ベストアンサー1

構造:

%.o: %.c
        $(CC) -c $^ -o $@  

パターンルール、これは暗黙のルールです。それは指定する一つ目標と一つ$(CC)依存関係を持ち、ターゲットごとに一度呼び出されるようにします。しかし、これは:

SOURCE := $(wildcard *.c)

$(SOURCE:.c=.o): $(SOURCE)
        $(CC) -c $^ -o $@

標準ルールですが(おそらく)たくさん目標とたくさん依存関係。しかし、それにもかかわらず一度だけ呼び出されます$(CC)

おすすめ記事