" make:***没有目标。停止&#34。错误

时间:2015-08-05 05:26:12

标签: makefile

我已准备好以下makefile,以自动清理我要删除的所有临时项目:

.SUFFIXES : bye


#  The default action is to
#      remove the latest project, i was working at...
byebye :
    rm -rf "$(ls -1dt /projects/new_* | head -n1)"


#  Remove a specific project.
#  Run make from the command-line as 'make new_1_bye' etc.
%_bye :
    rm -rf /projects/$*

但是,如果我运行make as:

$ make

我明白了:

make: *** No targets.  Stop.

为什么?

1 个答案:

答案 0 :(得分:2)

.SUFFIXES行似乎会造成麻烦。后缀通常以点(例如.c)开头。 Make似乎接受后缀bye,但这意味着行byebye:标记后缀规则的开头,%_bye行也是后缀规则。这加起来意味着makefile中没有引用目标,因此错误信息。

如果您使用.SUFFIXES : .byemake对makefile感到满意。