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