Причина, по которой automake делает условия, заключается в том, что некоторые динозавры делают это не так. Тем не менее, если вы действительно должны это сделать, вы можете определить свой фрагмент как переменную в configure.ac
и AC_SUBST
в свой Makefile
. Таким образом, у автопроизводителя не будет возможности это увидеть. Не забудьте использовать AM_SUBST_NOTMAKE
, чтобы избежать создания строки типа FOO = @FOO@
.)
dnl In configure.ac:
snippet='
ifeq ($(somevar),Y)
foo
endif
'
AC_SUBST([snippet])
AM_SUBST_NOTMAKE([snippet])
и
## In Makefile.am:
@snippet@
Я искренне надеюсь, что есть лучший способ, чем этот.