将$(sysconfdir)从Autoconf/Automake传递到源代码

将$(sysconfdir)从Autoconf/Automake传递到源代码,c,gcc,autoconf,automake,C,Gcc,Autoconf,Automake,我很沮丧。我试图将系统配置目录的名称作为符号传递给源文件。这个网站上的一些研究让我明白,我应该添加这一行 AM_CPPFLAGS = -DSYSCONFIR='$(sysconfdir)' 到我的Makefile.am。我这样做了,定义确实出现在对gcc的调用中;事实上,这是: gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -DSYSCONFIR='/usr/etc' -g -O2 -MT perm.o -MD -MP -MF .deps/perm.T

我很沮丧。我试图将系统配置目录的名称作为符号传递给源文件。这个网站上的一些研究让我明白,我应该添加这一行

AM_CPPFLAGS = -DSYSCONFIR='$(sysconfdir)'
到我的Makefile.am。我这样做了,定义确实出现在对gcc的调用中;事实上,这是:

gcc -DHAVE_CONFIG_H -I. -I../../src -I..  -DSYSCONFIR='/usr/etc'   -g -O2 -MT perm.o -MD -MP -MF .deps/perm.Tpo -c -o perm.o ../../src/perm.c
问题是,不管怎么说,gcc总是告诉我SYSCONFDIR是未声明的

我一定是做错了什么,但为了对圣古力克的爱,我不知道这是什么。我的autoconf是2.68,automake是1.11.3,gcc是4.6.3,我正在Ubuntu 12.04下尝试这样做


一个干净的编译,一个干净的编译!我的王国是干净的

您显示的内容看起来像是打字错误


您正在设置并传递与
SYSCONFIR
不同的
SYSCONFDIR

要改进此问题的视觉布局,请在包含终端命令的行的开头添加四个空格。这将使它们的格式不同,以便于阅读。如果答案解决了您的问题,您可能希望通过单击答案的复选标记来标记它。