automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: propably automake bug


From: aotto
Subject: Re: propably automake bug
Date: Fri, 10 Mar 2023 10:12:10 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

Update

If I add *EXTRA_ConfigServer_DEPENDENCIES* just with the value of 
*liblcconfig_static_LIBADD* than it works.
It is now clear that *ConfigServer_LDADD* was "forgotten" in the 
dependency-list.


myexe += ConfigServer
ConfigServer_CPPFLAGS = $(libmqmsgque_CPPFLAGS) $(liblcconfig_CPPFLAGS)
ConfigServer_CFLAGS = $(libmqmsgque_CFLAGS)
ConfigServer_LDADD = libLcConfigRpcServer.la
if ENABLE_STATIC
ConfigServer_LDADD   += $(liblcconfig_static_LIBADD)
*EXTRA_ConfigServer_DEPENDENCIES **= **$(liblcconfig_static_LIBADD)*
else
ConfigServer_LDADD   += $(liblcconfig_shared_LIBADD)
endif




On 10.03.23 09:21, aotto wrote:
Hi,

I use *automake* to build my environment. The build is done using the default 
*AM_* flags and for
the special executable *ConfigServer* with a specific set of flags.

ERROR: I figure out that on *static* build the executable *ConfigServer* does 
*not* rebuild
even if a *static* dependency library has changed.

For analyze I add *Makefile* and *Makefile.am*

*The question is now: does the value(s) of 'liblcconfig_static_LIBADD' show up 
in the dependency list?*

-------------------------------------------------------------------------*
Makefile
*

ConfigServer$(EXEEXT): $(ConfigServer_OBJECTS) $(ConfigServer_DEPENDENCIES) 
$(EXTRA_ConfigServer_DEPENDENCIES)
    @rm -f ConfigServer$(EXEEXT)
    $(AM_V_CCLD)$(ConfigServer_LINK) $(ConfigServer_OBJECTS) 
$(ConfigServer_LDADD) $(LIBS)

ConfigServer_DEPENDENCIES =  \
    libLcConfigRpcServer.la \
    $(am__DEPENDENCIES_2)

am__DEPENDENCIES_2 =  \
    $(am__DEPENDENCIES_1)

am__DEPENDENCIES_1 =

EXTRA_ConfigServer_DEPENDENCIES = not set

ConfigServer_OBJECTS = ConfigServer-ConfigServer.$(OBJEXT)

ConfigServer-ConfigServer.o: ConfigServer.c
       $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ConfigServer_CPPFLAGS) $(CPPFLAGS) $(ConfigServer_CFLAGS) $(CFLAGS) -MT ConfigServer-ConfigServer.o -MD -MP -MF $(DEPDIR)/ConfigServer-ConfigServer.Tpo -c -o ConfigServer-ConfigServer.o `
test -f 'ConfigServer.c' || echo '$(srcdir)/'`ConfigServer.c
       $(AM_V_at)$(am__mv) $(DEPDIR)/ConfigServer-ConfigServer.Tpo 
$(DEPDIR)/ConfigServer-ConfigServer.Po

------------------------------------------------------------------------
*Makefile.am*

myexe = mulclient mulserver manfilter \
          testclient testserver MyClient MyServer \
            Filter1 Filter2 Filter3 Filter4 Filter5 \
              Filter6 Filter7 server MyWorker RECUclient \
            Bug2 Bug3 Filter6E MyLoopServer MyRouter \
              perfclient perfserver MyClient2 getInternalSize \
            MyTransaction

lib_LTLIBRARIES = libMkKernelRpcServer.la

libMkKernelRpcServer_la_SOURCES = MkKernelRpcServer.c

libMkKernelRpcServer_la_CPPFLAGS = $(libmqmsgque_CPPFLAGS)
libMkKernelRpcServer_la_CFLAGS   = $(libmqmsgque_CFLAGS)
libMkKernelRpcServer_la_LDFLAGS  = $(UBSAN) -version-info @VERSION_INFO@ 
-no-undefined
libMkKernelRpcServer_la_LIBADD   = $(libmqmsgque_shared_LIBADD)

krs: libMkKernelRpcServer.la

lib_LTLIBRARIES += libMqMsgqueRpcServer.la

libMqMsgqueRpcServer_la_SOURCES = MqMsgqueRpcServer.c

libMqMsgqueRpcServer_la_CPPFLAGS = $(libmqmsgque_CPPFLAGS)
libMqMsgqueRpcServer_la_CFLAGS   = $(libmqmsgque_CFLAGS)
libMqMsgqueRpcServer_la_LDFLAGS  = $(UBSAN) -version-info @VERSION_INFO@ 
-no-undefined
libMqMsgqueRpcServer_la_LIBADD   = ./libMkKernelRpcServer.la 
$(libmqmsgque_shared_LIBADD)

mrs: libMqMsgqueRpcServer.la

if USE_LIBCONFIG
lib_LTLIBRARIES += libLcConfigRpcServer.la

libLcConfigRpcServer_la_SOURCES = LcConfigRpcServer.c

libLcConfigRpcServer_la_CPPFLAGS = $(libmqmsgque_CPPFLAGS) 
$(liblcconfig_CPPFLAGS)
libLcConfigRpcServer_la_CFLAGS   = $(libmqmsgque_CFLAGS)
libLcConfigRpcServer_la_LDFLAGS  = $(UBSAN) -version-info @VERSION_INFO@ 
-no-undefined
libLcConfigRpcServer_la_LIBADD   = ./libMkKernelRpcServer.la 
$(liblcconfig_shared_LIBADD)

ors: libLcConfigRpcServer.la

myexe += ConfigServer
ConfigServer_CPPFLAGS = $(libmqmsgque_CPPFLAGS) $(liblcconfig_CPPFLAGS)
ConfigServer_CFLAGS = $(libmqmsgque_CFLAGS)
ConfigServer_LDADD = libLcConfigRpcServer.la
if ENABLE_STATIC
ConfigServer_LDADD += $(liblcconfig_static_LIBADD)
endif

endif


#myexe = MyClient MyServer getInternalSize

noinst_PROGRAMS = $(myexe)

AM_CPPFLAGS     = $(libmqmsgque_CPPFLAGS)
AM_CFLAGS       = $(libmqmsgque_CFLAGS) -DMQ_BUILD_EXAMPLE
if ENABLE_STATIC
AM_LDFLAGS      = $(UBSAN) -static -no-undefined
LDADD           = $(libmqmsgque_static_LIBADD)
else
AM_LDFLAGS      = $(UBSAN) -no-undefined
LDADD           = $(libmqmsgque_static_LIBADD)
endif

perfclient_SOURCES  = perfclient.c stat.c stat.h

Filter6E_SOURCES = Filter6.c
Filter6E_CFLAGS  = -DBUG1 $(AM_CFLAGS)

-------------------------------------------------
*grep for **liblcconfig_static_LIBADD*

grep -C 3 liblcconfig_static_LIBADD Makefile
target_triplet = x86_64-suse-linux-gnu
am__append_1 = libLcConfigRpcServer.la
am__append_2 = ConfigServer
*am__append_3 = $(liblcconfig_static_LIBADD)*
noinst_PROGRAMS = $(am__EXEEXT_2)
subdir = theLink/example/c
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4



reply via email to

[Prev in Thread] Current Thread [Next in Thread]