|
|
@@ -0,0 +1,49 @@
|
|
|
+--- a/bin/automake.in
|
|
|
++++ b/bin/automake.in
|
|
|
+@@ -4745,12 +4745,42 @@ sub handle_clean
|
|
|
+ if var ('CLEANFILES');
|
|
|
+ $clean_files{'$(DISTCLEANFILES)'} = DIST_CLEAN
|
|
|
+ if var ('DISTCLEANFILES');
|
|
|
+- $clean_files{'$(MAINTAINERCLEANFILES)'} = MAINTAINER_CLEAN
|
|
|
+- if var ('MAINTAINERCLEANFILES');
|
|
|
+
|
|
|
+ # Built sources are automatically removed by maintainer-clean.
|
|
|
+- $clean_files{'$(BUILT_SOURCES)'} = MAINTAINER_CLEAN
|
|
|
+- if var ('BUILT_SOURCES');
|
|
|
++ # For each defined condition of the maintainer-clean variable, append built sources
|
|
|
++ # and create an unconditional definition with built sources if not already defined.
|
|
|
++ # Then, for each definition of built sources without maintainer-clean defined, define it.
|
|
|
++ # Otherwise, if the variable is not user-defined, define it with built sources.
|
|
|
++ my $mcleanvar = var ('MAINTAINERCLEANFILES');
|
|
|
++ if ($mcleanvar) {
|
|
|
++ foreach my $rcond ($mcleanvar->conditions->conds)
|
|
|
++ {
|
|
|
++ if (! grep { $_ eq '$(BUILT_SOURCES)' } $mcleanvar->value_as_list ($rcond)) {
|
|
|
++ Automake::Variable::define ($mcleanvar->name, VAR_MAKEFILE, '+', $rcond,
|
|
|
++ '$(BUILT_SOURCES)', '', INTERNAL, VAR_ASIS)
|
|
|
++ if vardef ('BUILT_SOURCES', $rcond);
|
|
|
++ }
|
|
|
++ }
|
|
|
++ my $bsources = var ('BUILT_SOURCES');
|
|
|
++ if ($bsources) {
|
|
|
++ foreach my $rcond ($bsources->conditions->conds)
|
|
|
++ {
|
|
|
++ Automake::Variable::define ($mcleanvar->name, VAR_MAKEFILE, '', $rcond,
|
|
|
++ '$(BUILT_SOURCES)', '', INTERNAL, VAR_ASIS)
|
|
|
++ if ! vardef ($mcleanvar, $rcond);
|
|
|
++ }
|
|
|
++ if (! vardef ($mcleanvar, TRUE)) {
|
|
|
++ Automake::Variable::define ($mcleanvar->name, VAR_MAKEFILE, '', TRUE,
|
|
|
++ '$(BUILT_SOURCES)', '', INTERNAL, VAR_ASIS);
|
|
|
++ }
|
|
|
++ }
|
|
|
++ } else {
|
|
|
++ Automake::Variable::define ('MAINTAINERCLEANFILES', VAR_MAKEFILE, '', TRUE,
|
|
|
++ '$(BUILT_SOURCES)', '', INTERNAL, VAR_ASIS)
|
|
|
++ if var ('BUILT_SOURCES');
|
|
|
++ }
|
|
|
++ $clean_files{'$(MAINTAINERCLEANFILES)'} = MAINTAINER_CLEAN
|
|
|
++ if var ('MAINTAINERCLEANFILES');
|
|
|
+
|
|
|
+ # Compute a list of "rm"s to run for each target.
|
|
|
+ my %rms = (MOSTLY_CLEAN, [],
|