1

我正在同一个 Autoconf/Automake 项目中开发一个 apache 模块和一个共享库。我的 Makefile.am 应该如何?

现在它是:

INCLUDES = -I$(top_srcdir)

nobase_include_HEADERS =  \
  foo.h \
  bar.h 

lib_LTLIBRARIES = libfoo.la
libfoo_la_SOURCES = \
  foo.c \
  bar.c 

libfoo_la_LDFLAGS = -version-info 0:0:0

我可以添加这些行:

lib_LTLIBRARIES = mod_foo.la
mod_foo_la_SOURCES = mod_foo.c
mod_foo_la_LDFLAGS = -module
mod_foo_la_LIBADD = libfoo.la

这样对吗?

如何使用 APXS 安装模块和使用 libtool 安装共享库?如果我说:

install:
    $(APXS) -i -a -n foo mod_foo.la

我认为 libfoo.la 它没有安装,而只是模块。

4

1 回答 1

1

没有安装任何东西,因为您正在覆盖install目标。尝试使用install-exec-local手册):

install-exec-local:
    $(APXS) -i -a -n foo mod_foo.la

(请注意,我不知道APXS,我只是在复制您的规则。)

您还应该定义一个uninstall-local要清理的目标。

于 2011-05-04T06:35:50.110 回答