0

我只想知道我需要写什么Makefile.am来创建一个build在同一个目录中调用的目录Makefile.am

4

2 回答 2

3

仔细想想你的问题:你真的想build在同一个目录中创建Makefile.am,还是在调用时在当前工作目录中创建configure?这些并不总是一回事: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 ,而是使用 make 来完成config.status它(这是一个 shell 脚本,它在等等)。在中,输入以下内容:configureMakefile.inMakefileconfig.h.inconfig.hconfigure.ac

AC_CONFIG_COMMANDS([mkdir], [$MKDIR_P build])
于 2012-09-11T03:09:29.830 回答
1

你需要写:

build:
    test -d ${srcdir}/build || mkdir ${srcdir}/build

但你真的不想那样做。源目录应该被认为是只读的。如果您只是想在构建目录中创建一个名为 build 的目录,只需执行

build:    
    test -d build || mkdir build
于 2012-09-10T16:50:02.467 回答