Home | History | Annotate | Line # | Download | only in unit-tests
      1 # $NetBSD: suff-transform-endless.mk,v 1.4 2020/11/23 14:47:12 rillig Exp $
      2 
      3 # https://gnats.netbsd.org/49086, issue 6:
      4 # Transformation search can end up in an infinite loop.
      5 #
      6 # There is no file or target from which issue6.f could be made, so
      7 # this should fail.  The bug is that because rules .e.f, .d.e and .e.d
      8 # exist, make would try to make .f from .e and then infinitely try
      9 # to do .e from .d and vice versa.
     10 
     11 .MAKEFLAGS: -ds
     12 
     13 all: issue6.f
     14 
     15 .c.d .d.c .d .d.e .e.d:
     16 	: 'Making ${.TARGET} from ${.IMPSRC}.'
     17 
     18 .SUFFIXES: .c .d .e .f
     19 
     20 .e .e.f .f.e:
     21 	: 'Making ${.TARGET} from ${.IMPSRC}.'
     22 
     23 # XXX: As of 2020-10-20, the result is unexpected.
     24 # XXX: .d.c is not a transformation rule.
     25 # XXX: .d is not a transformation rule.
     26 # XXX: .e.d is not a transformation rule.
     27 # XXX: .c.d is listed as "Files that are only sources".
     28 # XXX: .d.e is listed as "Files that are only sources".
     29 # XXX: The suffixes .d and .f both have the number 3.
     30 # XXX: .c.d is not listed as "Transformations".
     31 # XXX: .d.c is not listed as "Transformations".
     32 # XXX: .d is not listed as "Transformations".
     33 # XXX: .d.e is not listed as "Transformations".
     34 # XXX: .e.d is not listed as "Transformations".
     35 # XXX: Found 'all' as '(not found)'
     36 # XXX: trying all.e, all.e, all.f, all.e, all.e, repeatedly.
     37 #.MAKEFLAGS: -dg1
     38 
     39 # Before 24-11-2020, resolving all.e ran into an endless loop.
     40