make .SUFFIXES bug?

Carsten Kunze carsten.kunze at arcor.de
Tue Dec 15 15:36:30 UTC 2015


Hello,

current groff doesn't build on FreeBSD.  I had noticed the same issue some months ago on NetBSD and cross checked on FreeBSD and it had worked on FreeBSD.  There must have somethig changed since then.  How to reproduce:

When there is a file "test.1.man" and a makefile:

.SUFFIXES:
.SUFFIXES: .roff .in .ps .mom .pdf .me .ms .ps .html .txt .texi .dvi .pdf .xhtml .man .c .cpp .log .o .obj .sed .sin .test .test$(EXEEXT) .trs .ypp

.man:
        @echo Making $@ from $<
        rm -f $@
        @LC_ALL=C \
         sed -e "s|foo|bar|g" \
         $< >$@

"make test.1" results in "make: don't know how to make test.1. Stop".

When ".man" is put to the start of the list it works.  It also works when the first .SUFFIXES line is removed.

The answer from NetBSD is that this is very likely a bug in make.  May this also be the case for FreeBSD?

Carsten


More information about the freebsd-current mailing list