make .SUFFIXES bug?

From: Carsten Kunze <carsten.kunze_at_arcor.de>
Date: Tue, 15 Dec 2015 16:01:41 +0100 (CET)
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:
        _at_echo Making $_at_ from $<
        rm -f $_at_
        _at_LC_ALL=C \
         sed -e "s|foo|bar|g" \
         $< >$_at_

"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
Received on Tue Dec 15 2015 - 14:36:30 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:01 UTC