C 自动工具生成生成生成文件时,多个程序共享一个源文件

C 自动工具生成生成生成文件时,多个程序共享一个源文件,c,makefile,autotools,C,Makefile,Autotools,这个问题主要涉及Unix/Linux风格的C开发。我正在使用autotools生成Makefile 有两个程序共享名为utils.c的源文件 我的源代码树的结构如下所示: app/ src/ server/ server.c ... client/ client.c ... include/ bin_PROGRAMS = server client s

这个问题主要涉及Unix/Linux风格的C开发。我正在使用
autotools
生成
Makefile

有两个程序共享名为
utils.c
的源文件

我的源代码树的结构如下所示:

app/
    src/
        server/
            server.c
            ...
        client/
            client.c
            ...
    include/
bin_PROGRAMS = server client
server_SOURCES = server/server.c
client_SOURCES = client/client.c
server_LDADD = $(DONT_KNOW_WHAT_TO_WRITE)
client_LDADD = $(DONT_KNOW_WHAT_TO_WRITE)
问题是我应该将共享源文件放在哪里,以及如何编写
Makefile.am
configure.ac
使其工作

当前的
configure.ac
仅指定
ac\u配置文件([Makefile src/Makefile])

当前的
src/Makefile.am
如下所示:

app/
    src/
        server/
            server.c
            ...
        client/
            client.c
            ...
    include/
bin_PROGRAMS = server client
server_SOURCES = server/server.c
client_SOURCES = client/client.c
server_LDADD = $(DONT_KNOW_WHAT_TO_WRITE)
client_LDADD = $(DONT_KNOW_WHAT_TO_WRITE)

谢谢。

如果它只是一个相对较小的源文件,您不妨将其添加到相应的_SOURCES行中

如果共享代码由多个文件组成,则可以创建一个静态库。

您的
Makefile.am
configure.ac
文件的相关位当前看起来像什么?