summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2010-11-06 21:56:23 +0000
committerPaul Smith <psmith@gnu.org>2010-11-06 21:56:23 +0000
commit1208b1e7e0afa6fb5cced1e822fe34008902ef26 (patch)
treefaf87797baba5fae47c98029e5d2c1ec741fb7d1 /doc
parentd7ce0c5ad6f863033762858de1e0ce1744ed4391 (diff)
downloadmake-1208b1e7e0afa6fb5cced1e822fe34008902ef26.tar.gz
Improve backslash/newline handling to adhere to POSIX requirements.
Diffstat (limited to 'doc')
-rw-r--r--doc/make.texi23
1 files changed, 13 insertions, 10 deletions
diff --git a/doc/make.texi b/doc/make.texi
index 6f59f86c..4d089aaa 100644
--- a/doc/make.texi
+++ b/doc/make.texi
@@ -1633,7 +1633,7 @@ expands to @file{bar}, @code{$$^} expands to @file{bar boo},
Note that the directory prefix (D), as described in @ref{Implicit Rule
Search, ,Implicit Rule Search Algorithm}, is appended (after
expansion) to all the patterns in the prerequisites list. As an
-example:
+example:@refill
@example
.SECONDEXPANSION:
@@ -1641,12 +1641,14 @@ example:
/tmp/foo.o:
%.o: $$(addsuffix /%.c,foo bar) foo.h
+ @@echo $^
@end example
-The prerequisite list after the secondary expansion and directory
-prefix reconstruction will be @file{/tmp/foo/foo.c /tmp/var/bar/foo.c
-foo.h}. If you are not interested in this reconstruction, you can use
-@code{$$*} instead of @code{%} in the prerequisites list.
+The prerequisite list printed, after the secondary expansion and
+directory prefix reconstruction, will be @file{/tmp/foo/foo.c
+/tmp/bar/foo.c foo.h}. If you are not interested in this
+reconstruction, you can use @code{$$*} instead of @code{%} in the
+prerequisites list.
@node Rules, Recipes, Makefiles, Top
@chapter Writing Rules
@@ -5422,11 +5424,12 @@ The variable name may contain function and variable references, which
are expanded when the line is read to find the actual variable name to use.
There is no limit on the length of the value of a variable except the
-amount of swapping space on the computer. When a variable definition is
-long, it is a good idea to break it into several lines by inserting
-backslash-newline at convenient places in the definition. This will not
-affect the functioning of @code{make}, but it will make the makefile easier
-to read.
+amount of memory on the computer. When a variable definition is long,
+it is a good idea to break it into several lines by inserting
+backslash-newline at convenient places in the definition. This will
+make the makefile easier to read. Every backslash-newline, along with
+any leading whitespace on the following line, will be replaced by a
+single space in the value of the variable.
Most variable names are considered to have the empty string as a value if
you have never set them. Several variables have built-in initial values