Windows 上の GNU Make パターンルール

Windows 上の GNU Make パターンルール

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が存在するか、または作成できる場合

ソース10.5.1 パターンルールの紹介


参考文献

答え2

ファイル abcd.c が存在している必要があります。

関連情報