2012-12-14 21 views
0

我想包括我Makefile.am文件cmdline.c文件(从gengetopt的默认值)的产生。gengetopt及Automake

文件读取目前像这样的:

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及其所有家属将不会得到重新编译。我在这里错过了什么?

回答

2

gen_cmdline a .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