这个问题主要涉及Unix / Linux风格的C开发。我使用autotools
生成Makefile
。
有两个程序共享一个名为utils.c
的源文件。
我的源代码树的结构如下:
app/
src/
server/
server.c
...
client/
client.c
...
include/
问题是我应该在何处放置共享源文件,以及如何编写Makefile.am
或configure.ac
以使其正常工作。
当前configure.ac
仅指定AC_CONFIG_FILES([Makefile src/Makefile])
目前的src/Makefile.am
是这样的:
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)
感谢。
答案 0 :(得分:0)
如果它只是一个相对较小的源文件,您可以将其添加到相应的_SOURCES行。
如果共享代码包含多个文件,则可以创建静态库。 https://www.gnu.org/software/automake/manual/html_node/A-Library.html