Sam*_*uel 3 automake conditional makefile autotools environment-variables
我有一个文件 Makefile.am 我用来生成一个 Makefile。在生成的 Makefile 中,我想要这样的东西:
ifndef SOURCECODEPATH
SOURCECODEPATH := /home/root/source_code_path
endif
Run Code Online (Sandbox Code Playgroud)
看起来很简单,有人知道我该怎么做吗?
中使用AM_CONDITIONAL宏configure.ac。
该脚本设置了一个您可以测试的变量,例如,如果启用条件,则设置为非空的变量: AM_CONDITIONAL([ENABLE_SOURCECODEPATH], [test "x$ac_srcpath" != "x"])
然后在Makefile.am:
if !ENABLE_SOURCECODEPATH
SOURCECODEPATH = ...
endif
Run Code Online (Sandbox Code Playgroud)
但是,由于您在未定义的情况下明确定义了变量,因此您应该configure.ac无论如何都应该定义它,使用AC_SUBST(SRCPATH, $ac_srcpath):
SOURCECODEPATH = @SRCPATH@ # or $(SRCPATH)
Run Code Online (Sandbox Code Playgroud)