无法在makefile中禁用SUFFIXES

时间:2015-08-08 06:23:22

标签: makefile

来自docs

  

如果您希望消除默认的已知后缀而不仅仅是   添加到它们,为没有先决条件的'.SUFFIXES'编写规则。通过   特殊的安排,这消除了所有现有的先决条件   '.SUFFIXES'。然后,您可以编写另一个规则来添加后缀   想。例如,

 .SUFFIXES:            # Delete the default suffixes
 .SUFFIXES: .c .o .h   # Define our suffix list

尝试以下makefile:

.c.o:
    @echo done

.SUFFIXES::

all.o: phony

all.c:

.PHONY: phony

运行Make,我得到:

done

尽管我已经.SUFFIXES::禁用了后缀。

顺便说一句,出于某种原因,它适用于版本3.81,我得到:

make: Nothing to be done for `all.o'.

1 个答案:

答案 0 :(得分:1)

文档说:.SUFFIXES:

您写道:.SUFFIXES::

删除多余的冒号,它会起作用。