2015-03-25 86 views
1

我的makefile循环不休,但无法弄清楚为什么?下面是它在sf.net/p/ags进一步信息Makefile循环不息

 

    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) 

+1

这不是一个makefile文件,它是一个automake文件。而你的意思是“循环无止境”。什么?运行'make'?它在循环时的作用是什么?所有文件的时间戳是否准确? – 2015-03-25 05:07:36

+0

配置一次又一次运行 – h3lix 2015-03-25 05:57:21

+0

你的意思是我的所有文件的时间戳记 - 有很多源文件。我必须检查一下吗? – h3lix 2015-03-25 06:12:38

回答

1

擦拭所有构建脚本

rm * 

触摸的所有文件

find . -type f | xargs touch 

运行下面的重建构建脚本做到了终于

aclocal 
autoheader 
libtoolize --force --copy 
automake --add-missing --copy --foreign 
autoconf 
./configure 
make 

问题:空的Makefile.am导致无限循环 解决方案:向其中添加一个空变量