makefile缺少分隔符

Joe*_*Joe 4 makefile compilation

我有一个makefile(由第三方提供),它给出了以下错误

Makefile:108: *** missing separator.  Stop.
Run Code Online (Sandbox Code Playgroud)

有问题的行是以下if语句....任何想法?我尝试过用空格替换各种标签,而且根本没有太远...

if have_sdl
        libiulib_a_SOURCES += $(srcdir)/utils/dgraphics.cc
        libiulib_a_SOURCES += $(srcdir)/utils/SDL_lines.cc
        include_HEADERS += $(srcdir)/utils/SDL_lines.h
else
        libiulib_a_SOURCES += $(srcdir)/utils/dgraphics_nosdl.cc
endif
Run Code Online (Sandbox Code Playgroud)

Ale*_*tov 5

试试这种方式:

ifneq ($(have_sdl),)
        libiulib_a_SOURCES += $(srcdir)/utils/dgraphics.cc
        libiulib_a_SOURCES += $(srcdir)/utils/SDL_lines.cc
        include_HEADERS += $(srcdir)/utils/SDL_lines.h
else
        libiulib_a_SOURCES += $(srcdir)/utils/dgraphics_nosdl.cc
endif
Run Code Online (Sandbox Code Playgroud)

这将检查has_sdl是否为非空(意味着定义为TRUE,yes,1或除空字符串之外的其他内容)


小智 5

如果 ifeq 和括号的开头之间没有空格,那么它也会导致相同的警告。

应该是 ifeq()