Makefile.am中应该出现什么以及使用Autotools将库链接到程序的源代码?

时间:2011-08-23 11:02:04

标签: c autotools

Makefile.am,configure.ac和使用Autotools将库链接到程序的源应该出现什么?

我的(目前是琐碎的)项目配置,构建和运行正常,但我想整理它。

我目前有configure.ac:

dnl Process this file with autoconf to produce a configure script.

AC_PREREQ(2.59)
AC_INIT(foo, 1.0)

AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE()

AC_PROG_CC

AC_CONFIG_FILES(Makefile src/Makefile)
AC_OUTPUT

PKG_CHECK_MODULES([DEPS], [apr-1 >= 1.4.2])

Makefile.am(在src /中):

bin_PROGRAMS=a.out
a_out_SOURCES=foo.c
a_out_LDADD = /usr/lib/libapr-1.so

和foo.c:

...
#include <apr-1.0/apr_general.h>
#include <apr-1.0/apr_pools.h>
...

我想摆脱Makefile.am中/usr/lib/libapr-1.so的硬编码路径以及foo.c中的相对#include路径。我假设PKG_CHECK_MODULES可以找到并告诉我与libapr相关的文件的位置。

我应该如何修改这些文件才能使其正常工作?

谢谢,

克里斯。

1 个答案:

答案 0 :(得分:2)