Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
@…@在这个Makefile片段中是什么意思?_Makefile - Fatal编程技术网

@…@在这个Makefile片段中是什么意思?

@…@在这个Makefile片段中是什么意思?,makefile,Makefile,有人能简单地解释一下(正如我的想法)下面的片段暗示了什么吗? -我是C语言新手,所以我不理解@…@符号的含义: @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ 或: 如果需要添加更多代码,请告诉

有人能简单地解释一下(正如我的想法)下面的片段暗示了什么吗? -我是C语言新手,所以我不理解@…@符号的含义:


@SET_MAKE@

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

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


提前感谢。

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

也许更有趣的是
$(var)
s,它经常在VisualStudio项目文件中使用(但不是源代码,VS项目本身就是一个make文件)

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


这个文件来自哪个文件,还有什么其他文本围绕着它?如果使用一个众所周知的名字,这可能会有更多的启示。这可能根本不是一个代码文件,而只是一个make文件;或者,它可能是一个包含构建系统变量的代码文件(用于at build replace)。

这根本不是C,看起来更像某种makefile。看看你找到这个文件的文件名,我怀疑它的结尾是
.c

使用
@
中包含的名称的系统被用来标记应该被
配置
脚本替换的字符串。

那不是c。那是一个生成文件。那绝对不是c。它看起来像是
make
或类似的东西。。。。它也不是真正的makefile,而是一个makefile模板,很可能是用autoconf处理的。
$(libdir)
等都是普通的
make
变量
configure
通常根据给定的前缀设置它们,并使它们展开,就像shell展开一样。

build_triplet = @build@
host_triplet = @host@