NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

toolchain/50550: Deleting suffixes with an empty .SUFFIXES line causes issues in make



>Number:         50550
>Category:       toolchain
>Synopsis:       Deleting suffixes with an empty .SUFFIXES line causes issues in make
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Dec 14 10:00:00 +0000 2015
>Originator:     Carsten Kunze
>Release:        at least 7.0 up to CURRENT
>Organization:
>Environment:
NetBSD pcdd146.dmosdesign.com 7.99.23 NetBSD 7.99.23 (GENERIC.201512040830Z) #0: Fri Dec  4 09:27:03 UTC 2015  builds%b45.netbsd.org@localhost:/home/builds/ab/HEAD/amd64/201512040830Z-obj/home/source/ab/HEAD/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
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.  So deleting suffixes with an empty .SUFFIXES line may cause issues.

(This problem was found while building current groff which does not work on NetBSD currently.)
>How-To-Repeat:
Create a file named test.1.man and a makefile with the contents shown in "Full description".  Run "make test.1" -> failes.  If ".SUFFIXES" is removed *and/or* ".man" is put at begin of the list it works.
>Fix:



Home | Main Index | Thread Index | Old Index