自动工具中包含在C源文件中的非目标文件目标
我如何告诉自动工具中包含在C源文件中的非目标文件目标,c,makefile,autotools,C,Makefile,Autotools,我如何告诉lib/Makefile.am从某些输入文件(此处为.txt)中生成非.o目标,并在编译常规C源文件之前告诉它这样做 背景:我有一堆文本文件(.txt)和其他C源文件一起作为输入。我想用xxd处理它们,以生成一个C数组初始值设定项列表,该列表包含在一个C源文件中。因此,文本文件处理应该在编译.c文件之前进行 在C文件中,我将包括已处理的.inc文件: #include "data.inc" 我走了这么远: SUFFIXES = .txt .txt.$(OBJEXT): $(X
lib/Makefile.am
从某些输入文件(此处为.txt
)中生成非.o
目标,并在编译常规C源文件之前告诉它这样做
背景:我有一堆文本文件(.txt
)和其他C源文件一起作为输入。我想用xxd
处理它们,以生成一个C数组初始值设定项列表,该列表包含在一个C源文件中。因此,文本文件处理应该在编译.c
文件之前进行
在C文件中,我将包括已处理的.inc
文件:
#include "data.inc"
我走了这么远:
SUFFIXES = .txt
.txt.$(OBJEXT):
$(XXD) -i $< @top_builddir@/include/$*.inc
后缀=.txt
.txt.$(OBJEXT):
$(XXD)-i$<@top\u builddir@/include/$*.inc
问题是makefile假设一个
.o
文件是根据规则(.txt
-->.o
)生成的,这不是我需要的。我需要告诉它,.inc
是最终形式,它位于顶部的builddir
中。做这件事的首选方法是什么?另外,如果你不想让它认为你想要一个.txt.o
,不要把它作为一个目标。这将在/lib
目录中生成.inc
文件,\include
语句找不到它。如何将其放入/include
目录?