Makefile循环无限

Makefile循环无限,makefile,infinite-loop,Makefile,Infinite Loop,我的makefile循环无限,但不知道为什么?更多信息请访问sf.net/p/ags AUTOMAKE_OPTIONS = foreign top_srcdir = $(shell pwd)/src/ags SUBDIRS = src/ags \ doc -include ./src/ags/Makefile.am \ $(top_srcdir)/util/Makefile.am \ $(top

我的makefile循环无限,但不知道为什么?更多信息请访问sf.net/p/ags

AUTOMAKE_OPTIONS = foreign top_srcdir = $(shell pwd)/src/ags SUBDIRS = src/ags \ doc -include ./src/ags/Makefile.am \ $(top_srcdir)/util/Makefile.am \ $(top_srcdir)/lib/Makefile.am \ $(top_srcdir)/object/Makefile.am \ $(top_srcdir)/widget/Makefile.am \ $(top_srcdir)/audio/Makefile.am \ $(top_srcdir)/audio/task/Makefile.am \ $(top_srcdir)/audio/file/Makefile.am \ $(top_srcdir)/audio/recall/Makefile.am \ $(top_srcdir)/audio/task/recall/Makefile.am \ $(top_srcdir)/file/Makefile.am \ $(top_srcdir)/X/Makefile.am \ $(top_srcdir)/X/editor/Makefile.am \ $(top_srcdir)/X/machine/Makefile.am \ $(top_srcdir)/file/Makefile.am \ $(top_srcdir)/server/Makefile.am \ ./doc/Makefile.am CC = gcc # what flags you want to pass to the C compiler & linker CFLAGS = -g --pedantic -Wall -O -I./src -I/usr/include LDFLAGS = -L/lib -L/usr/lib -L/usr/X11/lib -lm -pthread -lrt -lgmp # this lists the binaries to produce, the (non-PHONY, binary) targets in # the previous manual Makefile noinst_LIBRARIES = libags.a libags-thread.a libags-audio.a bin_PROGRAMS = gsequencer # library libags_a_CFLAGS= libags_a_LDFLAGS = # application gsequencer_CFLAGS= gsequencer_LDFLAGS= gsequencer_LDADD=libags.a libags-thread.a libags-audio.a # libags_audio_h_sources = $(ags_recall_audio_h_sources) $(ags_audio_task_h_sources) $(ags_xorg_task_h_sources) $(ags_audio_file_h_sources) $(ags_audio_recall_task_h_sources) libags_audio_c_sources = $(ags_recall_audio_c_sources) $(ags_audio_task_c_sources) $(ags_xorg_task_c_sources) $(ags_audio_file_c_sources) $(ags_audio_recall_task_c_sources) gsequencer_h_sources = $(ags_xorg_h_sources) $(ags_machine_h_sources) $(ags_editor_h_sources) gsequencer_c_sources = $(ags_xorg_c_sources) $(ags_machine_c_sources) $(ags_editor_c_sources) libags_a_SOURCES = $(ags_lib_c_sources) $(ags_object_c_sources) $(ags_util_c_sources) libags_thread_a_SOURCES = $(ags_thread_c_sources) libags_audio_a_SOURCES = $(ags_audio_c_sources) libags_gui_a_SOURCES = $(ags_widget_c_sources) gsequencer_SOURCES = $(gsequencer_c_sources) $(ags_server_c_sources) $(ags_file_c_sources) AUTOMAKE_选项=国外 top_srcdir=$(壳牌pwd)/src/ags SUBDIRS=src/ags\ 医生 -包括./src/ags/Makefile.am\ $(top\u srcdir)/util/Makefile.am\ $(top_srcdir)/lib/Makefile.am\ $(top\u srcdir)/object/Makefile.am\ $(top\u srcdir)/widget/Makefile.am\ $(top\u srcdir)/audio/Makefile.am\ $(top_srcdir)/audio/task/Makefile.am\ $(top_srcdir)/audio/file/Makefile.am\ $(top_srcdir)/audio/recall/Makefile.am\ $(top_srcdir)/audio/task/recall/Makefile.am\ $(top_srcdir)/file/Makefile.am\ $(top\u srcdir)/X/Makefile.am\ $(top_srcdir)/X/editor/Makefile.am\ $(top\u srcdir)/X/machine/Makefile.am\ $(top_srcdir)/file/Makefile.am\ $(top\u srcdir)/server/Makefile.am\ ./doc/Makefile.am CC=gcc #要传递给C编译器和链接器的标志是什么 CFLAGS=-g——学究式——墙式——O-I./src-I/usr/include LDFLAGS=-L/lib-L/usr/lib-L/usr/X11/lib-lm-pthread-lrt-lgmp #这将列出要生成的二进制文件,以及中的(非虚假的二进制)目标 #上一个手动生成文件 noinst_LIBRARIES=libags.libags线程.libags音频.a bin_程序=gsequencer #图书馆 图书馆= 利比亚国旗= #应用 gsequencer\u CFLAGS= gsequencer\LDFLAGS= gsequencer_LDADD=libags.a libags线程.a libags音频.a # libags_audio_h_sources=$(ags_recall_audio_h_sources)$(ags_audio_task_h_sources)$(ags_audio_file_h_sources)$(ags_audio_recall_task_h_sources) libags_audio_c_sources=$(ags_recall_audio_c_sources)$(ags_audio_task_c_sources)$(ags_audio_file_c_sources)$(ags_audio_recall_task_c_sources) gsequencer_h_sources=$(ags_xorg_h_sources)$(ags_machine_h_sources)$(ags_editor_h_sources) gsequencer_c_sources=$(ags_xorg_c_sources)$(ags_machine_c_sources)$(ags_editor_c_sources) libags_a_SOURCES=$(ags_lib_c_SOURCES)$(ags_object_c_SOURCES)$(ags_util_c_SOURCES) libags\u线程a\u源=$(ags\u线程c\u源) libags_audio_a_SOURCES=$(ags_audio_c_SOURCES) libags_gui_a_SOURCES=$(ags_widget_c_SOURCES) gsequencer\u SOURCES=$(gsequencer\u c\u SOURCES)$(ags\u server\u c\u SOURCES)$(ags\u file\u c\u SOURCES)
擦除所有生成脚本

rm *
触摸所有文件

find . -type f | xargs touch
最后,运行下面的代码来重建构建脚本

aclocal
autoheader
libtoolize --force --copy
automake --add-missing --copy --foreign
autoconf
./configure
make
问题:空Makefile.am导致无限循环
解决方案:向它添加一个空变量

,它不是一个makefile,而是一个automake文件。“无止境的循环”是什么意思。这是什么意思?运行
make
?它在循环时做什么?所有文件上的时间戳是否准确?再次配置运行“我的所有文件的时间戳”是什么意思?有许多源文件。我必须全部检查它们吗?所以
make
根本就没有循环<代码>配置已启用。是的,我指的是每个源文件和目录。这种循环通常(根据我的经验)意味着时间戳在将来的某个地方,自动工具会注意到并不断地认为他们需要重新执行configure。(从autotool输入文件开始。文件中的
.in
.am
文件)。您应该在问题中添加自动生成标记。我不记得automake支持
-include
指令,只记得
include
。另外,我不确定这就是
include
在汽车制造中的用途;为什么在这里包括所有这些
.am
文件?我认为这些目录将被添加为子目录。