私のMakefileの一部:Makefileの静的なパターンルール
CFLAGS = -I ../headers -Wall
EXECUTABLES = testPattern testPatterns
$(EXECUTABLES): %Pattern: %.c pattern.o
g++ $(CFLAGS) [email protected] pattern.o -o [email protected]
それは無関係ですので、私は、オブジェクトのコンパイルが含まれていませんでした。
このコードで問題があるのは、パターンが 'Pattern'で終わるため、パターンは最初の実行可能ファイルと一致し、2番目の実行可能ファイルはスクリプトを終了させる末尾に 's'が追加されていることです。 2番目の実行可能ファイルの名前を変更せずに動作させる方法はありますか?
おかげ
こんにちは、私はうんざりしましたが、すでにそれを修正しました。ファイル名は前提条件に含まれています。パターンが必要なのは、名前とパターンがまったく違っていて、それらをすべて1つの変数に格納したいという実行可能ファイルがもう少しあるからです。私は、省略または偽の依存関係は望んでいません。私はそれらのための新しいルールを作るだろうが、私はそれらをすべて1つの変数に入れてほしい。 – Joe
あなたの例は、接頭辞 'test'が同一であるため、あまり良くありません。 'EXECUTABLES = fooPattern barPatterns'を使用した方が良い例になります。連続していない複数の不変部分に一致する単一のパターンを書くことはできません。上記の例では、 'Pattern'の前の接頭辞と' Pattern'の後の接尾辞の両方に一致する単一のパターンを書くことはできません。単語ごとに1つの '% 'しか指定できないので、片方または両方に一致させることができます。 – MadScientist
よろしくお願いします。迅速で明確な説明に感謝します。 – Joe