Subject: bug concatenating CLEANFILES in automake 1.11

From: Andy Wingo <[email-masked]>
Date: Fri, 05 Nov 2010 11:36:24 +0100

Greets,

We have an automake file that, after includes are processed out, looks
something like this:

# -*- makefile-gmake -*-

CLEANFILES =
BUILT_SOURCES =

CLEANFILES += \
  $(addprefix log/, $(addsuffix .log, $(notdir $(TESTS) _timing))) \
  $(wildcard scratch/*) \
  #
CLEANFILES += \
  $(BUILT_SOURCES) \
  $(OBLONG_pcifiles) \
  #
CLEANFILES += \
  $(man_MANS) \
  $(htmlman_DATA) \
  pod2htmi.tmp \
  pod2htmd.tmp
CLEANFILES +=
if HAVE_FOO
GOBJECTS = $(SOURCES:%.scm=%.go)
CLEANFILES += $(GOBJECTS)
endif

SOURCES =
SOURCES += plasma.scm

BUILT_SOURCES += env
CLEANFILES += env

In the generated Makefile, there is an extraneous backslash:

CLEANFILES = $(addprefix log/, $(addsuffix .log, $(notdir $(TESTS) \
	_timing))) $(wildcard scratch/*) $(BUILT_SOURCES) \
	$(OBLONG_pcifiles) $(man_MANS) $(htmlman_DATA) pod2htmi.tmp \
	pod2htmd.tmp\ $(am__append_3) env
                    ^ it's here

Regardless of the taste of that snippet above ;-), that snippet should
be sufficient to reproduce this error, with --foreign and the following
configure.ac:

AC_INIT(foo, 0.1)
AM_INIT_AUTOMAKE

AC_CONFIG_FILES([Makefile])
AM_CONDITIONAL(HAVE_FOO, 1)

AC_OUTPUT

Thanks,

Andy