Makefile:@ VAR @做什么?

时间:2015-04-05 04:38:12

标签: makefile gnu-make autoconf

我正在尝试从源代码构建mod_wsgi。 但是当我尝试使用“make”时,我会遇到以下问题:

/bin/sh: APXS@: command not found
Makefile.in:31: recipe for target 'src/server/mod_wsgi.la' failed
make: *** [src/server/mod_wsgi.la] Error 127

我检查了 Makefile.in 文件,第31行就是这个:

    $(APXS) -c $(CPPFLAGS) $(CFLAGS) $(SRCFILES) $(LDFLAGS) $(LDLIBS)

在第15行:

APXS = @APXS@

我检查过并安装了apxs。 什么是@APXS@应该做的?给apxs的路径? (如which apxs?)使用环境变量? 为什么不在这里工作?我正在构建一个docker容器,这可能是问题吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

@VAR@符号是 autoconf 特性,以及文件.in中的Makefile.in后缀,这让我觉得你没有{ {1}}你的包裹。

配置我的包是什么意思?

autoconf 软件是一个编写./configure脚本的工具,用于检测运行它们的系统的特征:这个程序存储? 这些 C标头在哪里?这些问题通常由./configure脚本回答。当它收集了答案时,它会通过处理文件列表来导出答案 - 通常以./configure的{​​{1}}结尾 - 并用它猜测的值替换.in个占位符。 / p>

如何配置我的包?

我不知道您的软件包的详细信息,但鉴于您提供的信息,您应该尝试运行Makefile.in脚本。使用@VAR@查看其选项。如果此类脚本不可用,请尝试使用程序包的toplevel目录中的./configure命令生成它。