(handle_merge_targets): Handle BUILT_SOURCES.
* automake.texi (Sources): Updated documentation of
BUILT_SOURCES.
+2000-12-18 Tom Tromey <tromey@redhat.com>
+
+ * automake.in (handle_built_sources): Removed.
+ (handle_merge_targets): Handle BUILT_SOURCES.
+ * automake.texi (Sources): Updated documentation of
+ BUILT_SOURCES.
+
2000-12-17 Tom Tromey <tromey@redhat.com>
* m4/protos.m4: Always do header checks.
&handle_programs;
&handle_scripts;
- &handle_built_sources;
-
# This must be run after all the sources are scanned.
&finish_languages;
return $linker;
}
-# Handle the BUILT_SOURCES variable.
-sub handle_built_sources
-{
- return unless &variable_defined ('BUILT_SOURCES');
-
- local (@sources) = &variable_value_as_list ('BUILT_SOURCES', 'all');
- local ($s);
- foreach $s (@sources)
- {
- if (/^\@.*\@$/)
- {
- # FIXME: is this really the right thing to do?
- &am_line_error ('BUILT_SOURCES',
- "\`BUILT_SOURCES' should not contain a configure substitution");
- last;
- }
- }
-}
-
# Special-case @ALLOCA@ and @LIBOBJS@ in _LDADD or _LIBADD variables.
# Also, generate _DEPENDENCIES variable if appropriate.
# Arguments are:
"use \`install-data-local' or \`install-exec-local', not \`install-local'");
}
- if (@all)
+ if (@all || &variable_defined ('BUILT_SOURCES'))
{
local ($one_name);
local ($local_headers) = '';
+ $local_headers = '$(BUILT_SOURCES)'
+ if &variable_defined ('BUILT_SOURCES');
foreach $one_name (@config_names)
{
if (&dirname ($one_name) eq $relative_dir)
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1995, 1996 Free Software Foundation, Inc.
+Copyright @copyright{} 1995, 1996, 2000 Free Software Foundation, Inc.
@sp 2
This is the first edition of the GNU Automake documentation,@*
and is consistent with GNU Automake @value{VERSION}.@*
Such files should be listed in the @code{BUILT_SOURCES} variable.
@vindex BUILT_SOURCES
-Built sources are also not compiled by default. You must explicitly
-mention them in some other @samp{_SOURCES} variable for this to happen.
+@code{BUILT_SOURCES} is actually a bit of a misnomer, as any file which
+must be created early in the build process can be listed in this
+variable.
-Note that, in some cases, @code{BUILT_SOURCES} will work in somewhat
-surprising ways. In order to get the built sources to work with
-automatic dependency tracking, the @file{Makefile} must depend on
-@code{$(BUILT_SOURCES)}. This can cause these sources to be rebuilt at
-what might seem like funny times.
+A source file listed in @code{BUILT_SOURCES} is created before the other
+@code{all} targets are made. However, such a source file is not
+compiled unless explicitly requested by mentioning it in some other
+@samp{_SOURCES} variable.
@node Other GNU Tools, Documentation, Other objects, Top
-@set UPDATED 16 October 2000
-@set UPDATED-MONTH October 2000
+@set UPDATED 18 December 2000
+@set UPDATED-MONTH December 2000
@set EDITION 1.4a
@set VERSION 1.4a
-@set UPDATED 16 October 2000
-@set UPDATED-MONTH October 2000
+@set UPDATED 18 December 2000
+@set UPDATED-MONTH December 2000
@set EDITION 1.4a
@set VERSION 1.4a