
我對在 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
全部'。停止。
你的 makefile 包含:
all: abcd.o
%.o : %.c
echo hi
只有當檔案abcd.c
存在或可以建立(透過另一條規則)時,這才有效。
因此,形式規則
%.o : %.c ; recipe…
指定如何製作文件號,以另一個檔案 nc 作為先決條件,前提是 nc 存在或可以創建。
進一步閱讀
- 簡單的 Makefile 教學課程- 包含一些簡單完整的 makefile 範例。
答案2
文件 abcd.c 需要存在。