0

我试图在我的Makefile.am文件中包含cmdline.c文件的生成(来自 gengetopt 的默认值)。

该文件当前如下所示:

bin_PROGRAMS = myprog

myprog_SOURCES = main.c cmdline.c
myprog_DEPENDENCIES = gen_cmdline $(myprog_SOURCES) # somewhere I read that setting DEPENDENCIES inhibits automake from calculating those

gen_cmdline:
    gengetopt < myprog.ggo

但是,如果我只修改myprog.ggo,则cmdline.c及其所有依赖项都不会重新编译。我在这里想念什么?

4

1 回答 1

2

gen_cmdline.PHONY 目标吗?如果gengetopt创建一个名为 的文件cmdline.c,那么您的 Makefile.am 应该如下所示:

bin_PROGRAMS = myprog

myprog_SOURCES = main.c cmdline.c
BUILT_SOURCES = cmdline.c
cmdline.c: myprog.ggo
    gengetopt < $(srcdir)/myprog.ggo
于 2012-12-14T20:37:51.727 回答