これは私の現在のメイクファイルの設定です。 public01.c
、public02.c
などの名前のファイルがあります。私は、それぞれにワイルドカードでpublic*.o
ラベルを使用してオブジェクトファイルを作成しようとしています。私が試してみて、メイクファイルを実行するとメイクファイルとワイルドカード
public*.o: public*.c hashtable.h
$(CC) $(CFLAGS) -c public*.c
public*: public*.o
$(CC) -o public* public*.o
はしかし、私はこれを取得:
make: *** No rule to make target `public*.c', needed by `public*.o'. Stop.
私は私が好きな、それはワイルドカードをラベルとしてpublic*.c
を処理していないと思います。私は$(wildcard pattern...)
の機能について読んで、それを試してみましたが、実際にそれを理解していなかったり、うまく動作していませんでした...
+1ですが、レシピに 'public $ * .c'、' public $ *。o'、 'public $ *'、もっと良い '$ <'と '$ @'は必要ありません。 ? – eriktous
@eriktous:whoops、それはコピー貼り付けられたoです。今修正しました。指摘してくれてありがとう。 –