我只想知道在Makefile.am
中需要写什么才能在build
所在的同一目录中创建一个名为Makefile.am
的目录。
答案 0 :(得分:3)
仔细考虑您的问题:您是否真的想在build
所在的目录中创建Makefile.am
,或者在调用configure
时在当前工作目录中创建?{1}}?这些并不总是一样的:GNU构建系统旨在支持树外构建(可能只读$srcdir
),因此最终用户应该期望以下工作:
$ tar xf autofoo-1.2.tar.gz
$ mkdir autofoo-build
$ cd autofoo-build
$ ../autofoo-1.2/configure
$ make
$ sudo make install
现在,我发现创建目录的最简单方法是不使用Makefile.am,而是让config.status
执行它(这是执行所有模板替换的shell脚本)结束configure
,将Makefile.in
变为Makefile
,将config.h.in
变为config.h
,依此类推)。在configure.ac
中,输入以下内容:
AC_CONFIG_COMMANDS([mkdir], [$MKDIR_P build])
答案 1 :(得分:1)
你需要写:
build:
test -d ${srcdir}/build || mkdir ${srcdir}/build
但你真的不想这样做。源目录应该被认为是只读的。如果您只想在构建目录中创建名为build的目录,只需执行
build:
test -d build || mkdir build