
Windows で GNU Make を使用することに興味があります。パターン ルールを使用して小さな Makefile を作成しました。
all: abcd.o
%.o : %.c
echo hi
しかし、全てを作ろうとすると、
D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" -f Makefile.txt
make: *** No rule to make target `abcd.o', needed by `all'. Stop.
GNU Makeをインストールするにはこのリポジトリ。ドキュメンテーション私が見つけたものには、この Makefile が機能するはずだと説明されています。
D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" --version
GNU Make 3.81
Windows 上の GNU Makefile でパターン ルールを使用するにはどうすればよいですか?
答え1
make: *** ターゲットをすべて作成するルールがありませんabcd.o', needed by
。停止します。
メイクファイルには以下が含まれます:
all: abcd.o
%.o : %.c
echo hi
これは、ファイルがabcd.c
存在する場合、または(別のルールによって)作成できる場合にのみ機能します。
したがって、次のような規則は
%.o : %.c ; recipe…
ファイル番号の作成方法を指定します。別のファイルncを前提条件として、ncが存在するか、または作成できる場合。
参考文献
- 簡単な Makefile チュートリアル- いくつかのシンプルで完全な makefile の例が含まれています。
答え2
ファイル abcd.c が存在している必要があります。