我试图在我的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及其所有从属文件。我在这里想念什么?
最佳答案
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