我正在尝试make一个makefile来编译子文件夹中的各种示例。由以下组成的makefile:GNU不识别%
S_1_2.exe : Twister.cpp Parsing.cpp ./Surfaces/S_1_2.cpp
g++ -o [email protected] $^ -I . -W -Wall
使用命令“make S_1_2.exe”运行时可以正常工作。但是:
%S_1_2.exe : Twister.cpp Parsing.cpp ./Surfaces/S_1_2.cpp
g++ -o [email protected] $^ -I . -W -Wall
失败,即使与命令运行make S_1_2.exe,出现错误 “令:*没有规则,使目标的S_1_2.exe'停止。”
不应该%S_1_2.exe模式匹配,所以匹配S_1_2.exe?在这种情况下,为什么它不符合这个规则?
我正在使用GNU Make 3.81
你确定这三个源文件存在吗? – Beta 2010-11-07 15:36:59
是的,它们都存在。就像我说的第一个命令运行良好,并具有完全相同的依赖关系。 – 2010-11-07 15:43:25
我正在运行GNUMake 3.81,并且'%S_1_2.exe'出现同样的错误,但是使用'%_1_2.exe',只有其中一个源丢失时才会出现错误。 – Beta 2010-11-07 19:33:21