【发布时间】:2013-06-29 10:29:00
【问题描述】:
我想使用在libvmi/driver/xen.c 文件、process-list.c file 中定义的一些函数,但我不知道应该在 Makefile 的哪个位置链接这两个 ".c" 文件。
我知道如何在一个简单的 Makefile 中做到这一点,但我在这个 Makefile 中找不到类似的东西来添加 libvmi/driver/xen.c 和 process-list.c 的链接部分。
该 Makefile 属于具有多个 Makefile 的项目。
感谢您的帮助!
## Source directory
SUBDIRS =
INCLUDES = -I$(top_srcdir)
AM_LDFLAGS = -L$(top_srcdir)/libvmi/.libs/
LDADD = -lvmi -lm $(LIBS)
c_sources = process-list.c \
libvmi/driver/xen.c
bin_PROGRAMS = module-list process-list map-symbol map-addr dump-memory
module_list_SOURCES = module-list.c
process_list_SOURCES = $(c_sources)
map_symbol_SOURCES = map-symbol.c
map_addr_SOURCES = map-addr.c
dump_memory_SOURCES = dump-memory.c
【问题讨论】:
-
您在上面发布的不是
Makefile。这用于生成一个。 -
你能更详细地描述你想要完成的任务吗?
-
@meaning-matters:我在另一个名为 process-list.c 的文件中使用了一个在 xen.c 文件中声明的函数。但是编译它会返回错误,没有定义对函数“foo”的引用。(正如我在 xen.c 中所说的那样声明)我想我应该以某种方式链接它们的目标文件。但我不知道如何在这个 Makefile 中做到这一点。
标签: c linker makefile automake