我有一个将变量定义为的配置:
AC_ARG_WITH(mylib,
[ --with-mylib=PATH Sets PATH for my additional sources (../mylib) ],
[
MYLIB_PATH="${withval}"
AC_MSG_RESULT(Using mylib source from ${withval})
],[
MYLIB_PATH="../mylib"
])
dnl convert to absolute path
MYLIB_PATH=`readlink -f ${MYLIB_PATH}`
AC_SUBST(MYLIB_PATH)
AC_OUTPUT(Makefile src/Makefile)
我的最高级别Makefile.am
是:
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src
然后在我的src/Makefile.am
中,我想从指定的mylib路径添加源:
...
bin_PROGRAMS = fooApp
fooApp_SOURCES = main.c \
@MYLIB_PATH@/logger.c
fooApp_CFLAGS = -I@MYLIB_PATH@/lib
因此,我为这些共享源保留一个单独的存储库。在配置过程中,我可以指定将它们检出的位置。即:
./configure --with-mylib=/tmp/mylib
不幸的是,当我运行configure时,该脚本似乎在我的src下创建了一个.deps(用于.Po文件),就像它删除了路径的第一个斜杠一样:
src/tmp/mylib/.deps/fooApp-logger.Po
现在,显然make失败,因为它试图从路径/tmp/mylib/.deps/fooApp-logger.Po
加载.Po文件。
知道我在做什么错吗?告诉配置在哪里可以找到我的其他来源的正确方法是什么?
我有一个将变量定义为的配置:AC_ARG_WITH(mylib,[--with-mylib = PATH为我的其他源(../mylib)设置PATH]],[MYLIB_PATH =“ $ {withval}” AC_MSG_RESULT(。 ..
对于面临类似问题的任何人,我都怀疑是自动make的问题,该问题在从通过AC_SUBST的扩展路径计算.Po文件的路径位置时做错了。