Ed *_*Man 5 automake makefile gnu-make
有没有办法告诉automake不要解释部分Makefile.am?
具体来说,我试图在Makefile.am中编码Makefile条件.正如其他人注意到的那样,这不起作用,因为automake解释了endif结构.
有没有办法逃脱或引用Makefile.am文件中的字符串,以便automake逐字复制到目标Makefile?具体来说,我不希望它在以下内容中解释endif:
ifeq "$(SOMEVAR)" ""
SOMEVAR="default_value"
endif
Run Code Online (Sandbox Code Playgroud)
automake做条件的原因是因为有些恐龙没有.也就是说,如果你真的必须这样做,你可以将你的代码段定义为变量,configure.ac并将AC_SUBST其定义为你的变量Makefile.这样,automake就没有机会看到它.请记住使用AM_SUBST_NOTMAKE以避免创建像FOO = @FOO@.)
dnl In configure.ac:
snippet='
ifeq ($(somevar),Y)
foo
endif
'
AC_SUBST([snippet])
AM_SUBST_NOTMAKE([snippet])
Run Code Online (Sandbox Code Playgroud)
和:
## In Makefile.am:
@snippet@
Run Code Online (Sandbox Code Playgroud)
我真诚地希望有一种比这更好的方法.