@ ... @在这个Makefile片段中意味着什么?

时间:2011-11-14 07:44:04

标签: makefile

有人可以简短解释我(同样的想法)以下片段建议的内容吗? - 我是C语言的新手,所以我不明白@ ... @ sign:

的含义

@SET_MAKE@

VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@

或:


build_triplet = @build@
host_triplet = @host@

如果需要添加更多代码,请告诉我。

提前致谢。

3 个答案:

答案 0 :(得分:5)

@使用configure中包含的名称系统来标记应由{{1}}脚本替换的字符串。

答案 1 :(得分:4)

这些似乎是某种类型的构建系统变量,因为@符号根本不是(我相信)在C中使用。考虑到名称,这似乎更有可能。包和源目录将插入相应的位置。

也许更有趣的是$(var),它们经常在Visual Studio项目文件中使用(但不是源代码,VS proj是一个自己排序的make文件)。

我的猜测是你在这里使用了两个make / build系统变量类型。他们是否来自两个系统,我不知道。正如Brian Roach在评论中指出的那样,至少涉及GNU autoconf。

这是来自哪个文件,以及其他文字是什么?如果使用一个众所周知的名字,那可能会有更多的亮点。这可能根本不是代码文件,只是一个make文件;或者它可以是一个带有构建系统变量的代码文件(用于构建替换)。

答案 2 :(得分:3)

这根本不是C,看起来更像是某种类型的makefile。看看你发现这个的文件名,我怀疑它在.c中结束。