Subject: Overwriting target_LDFLAGS within conditionals
From: Дилян Палаузов<[email-masked]>
To: [email-masked]
Date: Wed, 20 Mar 2019 17:26:08 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

my reading of the automake manual is that for an AM_CONDITIONAL Z

AM_LDFLAGS = -flto
if Z
a_LDFLAGS = -O3
endif

means:

if Z is defined, a_LDFLAGS is used and AM_LDFLAGS are not used.
if Z is not defined, a_LDFLAGS is absent and AM_LDFLAGS are used.

But looking in Makefile.in the code looks like this:

@Z_TRUE@a_LDFLAGS = -O3
a_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
        $(AM_CFLAGS) $(CFLAGS) $(a_LDFLAGS) $(LDFLAGS) -o $@

which means, that AM_LDFLAGS is always ignored.

The manual says in “Program and Library Variables”:

‘maude_LDFLAGS’
     This variable is used to pass extra flags to the link step of a
     program or a shared library.  It overrides the ‘AM_LDFLAGS’
     variable.

Regards
  Дилян