• E
    build: use library rather than cross-directory compilation · 012c25e8
    Eric Blake 提交于
    If we use subdir-objects with automake, any reference to a
    cross-directory .c file will result in automake creating
    rules that track dependency in the cross directory.  But this
    presents a problem during 'make distclean' - if the cross
    directory is cleaned up first, then the daemon directory will
    be left with dangling references to .Po dependency files that
    no longer exist.
    
    Meanwhile, referring to the cross-directory .c file means
    that we are compiling the file twice - once in src, and once
    in daemon.  Better is to compile just once in src into a
    convenience library, and then use that library from daemon.
    
    The tests directory had a similar situation of a cross-directory
    .c file; to solve that, we actually need a convenience library.
    
    * daemon/Makefile.am (DAEMON_SOURCES): Drop .c files...
    (libvirtd_LDADD): ...and instead use library.
    (libvirtd_conf_la_SOURCES): Declare a new convenience library.
    (libvirtd_LDFLAGS): Drop duplicate flag.
    * tests/Makefile.am (libvirtdconftest_SOURCES): Drop .c file...
    (libvirtdconftest_LDADD): ..and instead use library.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    012c25e8
Makefile.am 13.4 KB