分别建立目标

时间:2013-11-06 09:36:28

标签: autotools automake

我有一个项目,它在bin /目录中生成多个二进制文件。

项目目录如下:

    bin/ app1/ app2/ app3/ Makefile.am configure.ac

当我执行make all时,会编译所有目标。但是当我这样做时make app1,它只是说Nothing to be done for 'app1'并且没有编译。

应用程序的Makefile.am文件如下所示:

    bin_PROGRAMS = $(top_builddir)/bin/app1
    __top_builddir__bin_app1_SOURCES = app1.c

任何人都知道如何做到这一点?谢谢!

1 个答案:

答案 0 :(得分:0)

问题是您有一个名为“app1”的目录,因此执行“make app1”将检查名为“app1”的文件是否存在,并在找到目录时退出。

您可以尝试定义自定义目标app1

.PHONY: app1
app1: $(top_builddir)/bin/app1

顺便说一句。这一行

  __top_builddir__bin_app1_SOURCES = app1.c
很可能是错误的(除非app1.c是生成的源代码)。通过top_srcdir引用源代码,否则如果srcdir!= builddir

,你的构建将被破坏