# -*-perl-*- $description = "Test suffix rules."; $details = ""; # TEST #0: Clear all suffixes touch('foo.c'); run_make_test(q! .SUFFIXES: all: foo.o ; @echo $@ $< !, '', "#MAKE#: *** No rule to make target 'foo.o', needed by 'all'. Stop.\n", 512); unlink('foo.c'); # Test #1: Add a simple suffix rule touch('foo.baz'); run_make_test(q! .SUFFIXES: .biz .baz .baz.biz: ; @echo make $@ !, 'foo.biz', "make foo.biz\n"); unlink('foo.baz'); # Test #2: Make sure the defaults still work touch('foo.c'); run_make_test(undef, 'foo.o COMPILE.c=@echo OUTPUT_OPTION=', "foo.c\n"); unlink('foo.c'); # Test #3: Replacing all suffixes touch('foo.baz'); run_make_test(q! .SUFFIXES: .SUFFIXES: .biz .baz .baz.biz: ; @echo make $@ !, 'foo.biz', "make foo.biz\n"); unlink('foo.baz'); # Test #4: Suffix rules with deps are not suffix rules touch('foo.bar'); run_make_test(q! .SUFFIXES: .SUFFIXES: .biz .baz .baz.biz: foo.bar ; @echo make $@ from $< !, '.baz.biz', "make .baz.biz from foo.bar\n"); unlink('foo.bar'); # Test #5: Should not create pattern rules for it either touch('foo.baz'); run_make_test(undef, 'foo.biz', "#MAKE#: *** No rule to make target 'foo.biz'. Stop.\n", 512); unlink('foo.baz'); # Complete 1;