Re: propably automake bug

aotto <[email protected]>
Newsgroups gmane.comp.sysutils.automake.general
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.