Re: propably automake bug
i think you might be describing this bug report: https://debbugs.gnu.org/60508 -mike signature.asc Description: PGP signature
Re: propably automake bug
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 =
propably automake bug
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 -- liblcconfig_addon_CPPFLAGS = $(libmkkernel_CPPFLAGS) $(LIBCONFIG_CPPFLAGS) liblcconfig_addon_LIBADD = $(LIBCONFIG_LIBADD) liblcconfig_shared_LIBADD = $(top_builddir)/theLink/liblcconfig/liblcconfig.la *liblcconfig_static_LIBADD = $(top_builddir)/theLink/liblcconfig/liblcconfig.la $(liblcconfig_addon_LIBADD) $(libmkkernel_static_LIBADD) * libmkkernel_CFLAGS = $(UBSAN) -Wstrict-prototypes -Wconversion -Werror $(META_OPTIMIZE) libmkkernel_CPPFLAGS = -I$(top_srcdir)/theLink/libmkkernel $(libmkkernel_addon_CPPFLAGS) libmkkernel_CXXFLAGS = $(UBSAN) -Wconversion -Werror