Subject: Presetting various *CLEANFILES variables

From: Behdad Esfahbod <[email-masked]>
Date: Fri, 17 Dec 2010 19:55:22 -0500

Hi,

Currently, automake doesn't set any of the various *CLEANFILES variables.
Since the "+=" syntax is not portable when the variables are not initialized
(and causes an automake warning), this leaves no option for Makefile.am
snippets from various tools other than using the *clean-local targets to do
their cleanups.  The problem with this is that it's imperative as opposed to
declarative.

I've been maintaining a pieces of Makefile.am snippet called git.mk:

  http://git.gnome.org/browse/pango/tree/git.mk

What it does is to generate .gitignore files based on what "make
maintainer-clean" removes.  However, because of the problem stated above, I
cannot simply aggregate the various *CLEANFILES variables and also have to add
support for individual tools (autoconf, automake, libtool, gtk-doc,
gnome-doc-utils, mallard, intltool, and gsettings so far).

If instead automake was changed to always pre-initialize *CLEANFILES
variables, all snippets could just append to do variables and my git.mk
snippet would be more generic and much more simpler at the same time.

So I want to suggest that automake be changed to initialized *CLEANFILES if
the Makefile.am doesn't initialize them explicitly.

In another note, if that change is made and my git.mk simplified to not have
tool-specific logic in it, it would be a great addition to automake itself.

Cheers,
behdad