VirtualBox

source: kBuild/trunk/src/gmake/tests/scripts/features/include@ 285

Last change on this file since 285 was 285, checked in by bird, 20 years ago

This commit was generated by cvs2svn to compensate for changes in r284,
which included commits to RCS files with non-trunk default branches.

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1# -*-mode: perl; rm-trailing-spaces: nil-*-
2
3$description = "Test various forms of the GNU make `include' command.";
4
5$details = "\
6Test include, -include, sinclude and various regressions involving them.
7Test extra whitespace at the end of the include, multiple -includes and
8sincludes (should not give an error) and make sure that errors are reported
9for targets that were also -included.";
10
11$makefile2 = &get_tmpfile;
12
13open(MAKEFILE,"> $makefile");
14
15# The contents of the Makefile ...
16
17print MAKEFILE <<EOF;
18\#Extra space at the end of the following file name
19include $makefile2
20all: ; \@echo There should be no errors for this makefile.
21
22-include nonexistent.mk
23-include nonexistent.mk
24sinclude nonexistent.mk
25sinclude nonexistent-2.mk
26-include makeit.mk
27sinclude makeit.mk
28
29error: makeit.mk
30EOF
31
32close(MAKEFILE);
33
34
35open(MAKEFILE,"> $makefile2");
36
37print MAKEFILE "ANOTHER: ; \@echo This is another included makefile\n";
38
39close(MAKEFILE);
40
41# Create the answer to what should be produced by this Makefile
42&run_make_with_options($makefile, "all", &get_logfile);
43$answer = "There should be no errors for this makefile.\n";
44&compare_output($answer, &get_logfile(1));
45
46&run_make_with_options($makefile, "ANOTHER", &get_logfile);
47$answer = "This is another included makefile\n";
48&compare_output($answer, &get_logfile(1));
49
50$makefile = undef;
51
52# Try to build the "error" target; this will fail since we don't know
53# how to create makeit.mk, but we should also get a message (even though
54# the -include suppressed it during the makefile read phase, we should
55# see one during the makefile run phase).
56
57run_make_test
58 ('
59-include foo.mk
60error: foo.mk ; @echo $@
61',
62 '',
63 "#MAKE#: *** No rule to make target `foo.mk', needed by `error'. Stop.\n",
64 512
65 );
66
67# Make sure that target-specific variables don't impact things. This could
68# happen because a file record is created when a target-specific variable is
69# set.
70
71run_make_test
72 ('
73bar.mk: foo := baz
74-include bar.mk
75hello: ; @echo hello
76',
77 '',
78 "hello\n"
79 );
80
81# Test inheritance of dontcare flag when rebuilding makefiles.
82#
83run_make_test('
84.PHONY: all
85all: ; @:
86
87-include foo
88
89foo: bar; @:
90', '', '');
91
921;
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette