1 # -*-perl-*- 2 $description = "Test the .DEFAULT_GOAL special variable."; 3 4 $details = ""; 5 6 7 # Test #1: basic logic. 8 # 9 run_make_test(' 10 # Basics. 11 # 12 foo: ; @: 13 14 ifneq ($(.DEFAULT_GOAL),foo) 15 $(error ) 16 endif 17 18 # Reset to empty. 19 # 20 .DEFAULT_GOAL := 21 22 bar: ; @: 23 24 ifneq ($(.DEFAULT_GOAL),bar) 25 $(error ) 26 endif 27 28 # Change to a different goal. 29 # 30 31 .DEFAULT_GOAL := baz 32 33 baz: ; @echo $@ 34 ', 35 '', 36 'baz'); 37 38 39 # Test #2: unknown goal. 40 # 41 run_make_test(' 42 .DEFAULT_GOAL = foo 43 ', 44 '', 45 '#MAKE#: *** No rule to make target `foo\'. Stop.', 46 512); 47 48 49 # Test #3: more than one goal. 50 # 51 run_make_test(' 52 .DEFAULT_GOAL := foo bar 53 ', 54 '', 55 '#MAKE#: *** .DEFAULT_GOAL contains more than one target. Stop.', 56 512); 57 58 59 # Test #4: Savannah bug #12226. 60 # 61 run_make_test(' 62 define rule 63 foo: ; @echo $$@ 64 endef 65 66 define make-rule 67 $(eval $(rule)) 68 endef 69 70 $(call make-rule) 71 72 ', 73 '', 74 'foo'); 75 76 77 # This tells the test driver that the perl test script executed properly. 78 1; 79