我的 configure.ac 让用户指定--enable-monitor
. 在一个子目录中,我有一个 Makefile.in,其中包含一定数量的要构建的目标。我希望其中一些仅在用户指定时可用--enable-monitor
换句话说,我希望用户只能make monitor
在./configure
使用--enable-monitor
.
我怎样才能做到这一点?
将其放入以下内容就足够了configure.ac
:
AC_ARG_ENABLE([monitor],[help string],[use_monitor=yes])
AM_CONDITIONAL([USE_MONITOR],[test "$use_monitor" = yes])
这在 Makefile.am 中:
if USE_MONITOR
bin_PROGRAMS = monitor
else
monitor:
@echo Target not supported >&2 && exit 1
endif
带有显式监控目标的 else 子句用于覆盖 Make 可能使用的默认规则。请注意,“帮助字符串”应该更有用并使用 构造AS_HELP_STRING
,但为简洁起见,这些细节已被省略。
- 编辑 -
由于未使用 automake,您可以将AM_CONDITIONAL
configure.ac 中的行替换为以下内容:
AC_SUBST([USE_MONITOR],[$use_monitor])
然后Makefile.in
像这样进行检查:
monitor:
@if test "@USE_MONITOR@" = yes; then \
... ; \
else \
echo Target not supported >&2 && exit 1; \
fi