试图运行旧的makefile,“缺少分隔符”

问题描述 投票:0回答:1

我浏览了其他与我相似的帖子,这些帖子已通过固定选项卡或空格来解决,但对我而言不起作用(或者我不在正确的位置)。我正在尝试下载Swarm软件,该软件的最新稳定版本是2000年代初。也许这是一个丢失的原因(或者我可能只需要吸收它并在虚拟机中运行它),但是却收到错误消息“ Makefile.am:1:***缺少分隔符。请停止。”我的makefile代码的第一部分是:

if USEBUILTINAVCALL
SUBDIRS = $(LIBOBJCDIR) avcall etc src tools java COM m4 tests
else
SUBDIRS = $(LIBOBJCDIR) etc src tools java COM m4 tests
endif

EXTRA_DIST = VERSION macosx/buildlibs.sh macosx/ChangeLog macosx/configure.sh macosx/INSTALL.MacOSX macosx/README.MacOSX macosx/swarm.xcode/project.pbxproj

SWARM_INSTALL = @SWARM_INSTALL@

install-data-local:
    $(mkinstalldirs) $(DESTDIR)$(includedir)
    $(INSTALL_DATA) swarmconfig.h $(DESTDIR)$(includedir)
    $(INSTALL_DATA) externvar.h $(DESTDIR)$(includedir)
    $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/swarm
    $(INSTALL_PROGRAM) $(top_builddir)/libtool $(DESTDIR)$(bindir)/libtool-swarm
    if test $(SWARM_INSTALL) = install-sh; then $(INSTALL_PROGRAM) $(srcdir)/install-sh $(DESTDIR)$(bindir); fi

install-recursive: install-data-local
makefile
1个回答
1
投票

在我看来,这就像Makefile.in文件,而不是Makefile。也就是说,它打算由automake

进行转换。

GNU make不支持if语句(它具有ifdefifeqifneq,但不包含if)。 Automake确实支持这一点。并且@SWARM_INSTALL@之类的令牌应被替换。

© www.soinside.com 2019 - 2024. All rights reserved.