The (internal) variable am_foo_OBJECTS is empty when OBJEXT has been
redefined *and* no .SOURCE_EXT.o rule is present.

Example:

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

AM_DEFAULT_SOURCE_EXT = .lisp
OBJEXT = fasl

noinst_PROGRAMS = foo
foo_SOURCES = bar.lisp

.lisp.fasl:
        touch $@

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

Now the generated Makefile lists:

am_foo_OBJECTS =
foo_OBJECTS = $(am_foo_OBJECTS)

However, adding a .lisp.o (the old OBJEXT) magically makes it all work:

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

AM_DEFAULT_SOURCE_EXT = .lisp
OBJEXT = fasl

noinst_PROGRAMS = foo
foo_SOURCES = bar.lisp

.lisp.o:  ## just be

.lisp.fasl:
        touch $@

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

am_foo_OBJECTS = bar.$(OBJEXT)
foo_OBJECTS = $(am_foo_OBJECTS)

Affected automake versions: all, 1.11.1 in particular.

Cheers,
Sebastian




Reply via email to