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