Last change
on this file since 1981 was 969, checked in by bird, 18 years ago |
Fixing some svn props.
|
-
Property svn:eol-style
set to
LF
|
File size:
1.5 KB
|
Line | |
---|
1 | # -*-perl-*-
|
---|
2 |
|
---|
3 | $description = "Test make -B (always remake) option.\n";
|
---|
4 |
|
---|
5 | $details = "\
|
---|
6 | Construct a simple makefile that builds a target.
|
---|
7 | Invoke make once, so it builds everything. Invoke it again and verify
|
---|
8 | that nothing is built. Then invoke it with -B and verify that everything
|
---|
9 | is built again.";
|
---|
10 |
|
---|
11 | &touch('bar.x');
|
---|
12 |
|
---|
13 | run_make_test('
|
---|
14 | .SUFFIXES:
|
---|
15 |
|
---|
16 | .PHONY: all
|
---|
17 | all: foo
|
---|
18 |
|
---|
19 | foo: bar.x
|
---|
20 | @echo cp $< $@
|
---|
21 | @echo "" > $@
|
---|
22 | ',
|
---|
23 | '', 'cp bar.x foo');
|
---|
24 |
|
---|
25 | run_make_test(undef, '', "#MAKE#: Nothing to be done for `all'.");
|
---|
26 | run_make_test(undef, '-B', 'cp bar.x foo');
|
---|
27 |
|
---|
28 | # Put the timestamp for foo into the future; it should still be remade.
|
---|
29 |
|
---|
30 | utouch(1000, 'foo');
|
---|
31 | run_make_test(undef, '', "#MAKE#: Nothing to be done for `all'.");
|
---|
32 | run_make_test(undef, '-B', 'cp bar.x foo');
|
---|
33 |
|
---|
34 | # Clean up
|
---|
35 |
|
---|
36 | rmfiles('bar.x', 'foo');
|
---|
37 |
|
---|
38 | # Test -B with the re-exec feature: we don't want to re-exec forever
|
---|
39 | # Savannah bug # 7566
|
---|
40 |
|
---|
41 | run_make_test('
|
---|
42 | all: ; @:
|
---|
43 | $(info MAKE_RESTARTS=$(MAKE_RESTARTS))
|
---|
44 | include foo.x
|
---|
45 | foo.x: ; @touch $@
|
---|
46 | ',
|
---|
47 | '-B', 'MAKE_RESTARTS=
|
---|
48 | #MAKEFILE#:4: foo.x: No such file or directory
|
---|
49 | MAKE_RESTARTS=1');
|
---|
50 |
|
---|
51 | rmfiles('foo.x');
|
---|
52 |
|
---|
53 | # Test -B with the re-exec feature: we DO want -B in the "normal" part of the
|
---|
54 | # makefile.
|
---|
55 |
|
---|
56 | &touch('blah.x');
|
---|
57 |
|
---|
58 | run_make_test('
|
---|
59 | all: blah.x ; @echo $@
|
---|
60 | $(info MAKE_RESTARTS=$(MAKE_RESTARTS))
|
---|
61 | include foo.x
|
---|
62 | foo.x: ; @touch $@
|
---|
63 | blah.x: ; @echo $@
|
---|
64 | ',
|
---|
65 | '-B', 'MAKE_RESTARTS=
|
---|
66 | #MAKEFILE#:4: foo.x: No such file or directory
|
---|
67 | MAKE_RESTARTS=1
|
---|
68 | blah.x
|
---|
69 | all');
|
---|
70 |
|
---|
71 | rmfiles('foo.x', 'blah.x');
|
---|
72 |
|
---|
73 | 1;
|
---|
Note:
See
TracBrowser
for help on using the repository browser.