Makefile 如何修复FreeBSD中缺少依赖运算符的错误?

Makefile 如何修复FreeBSD中缺少依赖运算符的错误?,makefile,freebsd,Makefile,Freebsd,下面让代码正常工作,但Github freebsd代码测试不喜欢它。下面是我得到的错误: cd src&先制作(&M) make[1]:“/tmp/cirrus ci build/src/Makefile”第1394行:缺少依赖项运算符 make[1]:“/tmp/cirrus ci build/src/Makefile”第1396行:需要操作员吗 make[1]:遇到致命错误--无法继续 make[1]:在/tmp/cirrus ci build/src中停止 ***[第一]错误代码1 错误对

下面让代码正常工作,但Github freebsd代码测试不喜欢它。下面是我得到的错误:

cd src&先制作(&M)

make[1]:“/tmp/cirrus ci build/src/Makefile”第1394行:缺少依赖项运算符

make[1]:“/tmp/cirrus ci build/src/Makefile”第1396行:需要操作员吗

make[1]:遇到致命错误--无法继续

make[1]:在/tmp/cirrus ci build/src中停止

***[第一]错误代码1


错误对应于
ifeq
endif
行。我还尝试放弃
+=
操作符,并声明一个
else
单独编写,仍然是相同的错误。这里可能有什么问题

代码如下,提前谢谢

HAIKUGUI_LIBS1  = -lbe -lroot -ltracker -ltranslation
ifeq ($(strip $(word 1, $(subst -, , $(subst ., , $(shell $(CC) -dumpversion))))), 8)
HAIKUGUI_LIBS1  += -lsupc++ -lstdc++
endif

ifeq
endif
是Gnu的扩展。问:你在使用Gnu Make吗?查看并
pkg安装gmake
&
cd src&&gmake first
@FoggyDay,是的,它是GNUmake。我试着根据差异修改语法,但没有成功。我把支票全部扔掉了。你知道如何写它吗?当你说“是的,它是GNU make”时,我想你的意思是,是的,问题是你没有使用GNU make。这些错误肯定不是由GNU生成的。除非只使用最基本的POSIX make语法(POSIX make中没有类似于
ifeq
的语法),否则无法编写BSD make和GNU make之间兼容的make文件。对于除了最基本的makefile之外的任何makefile,您只需选择一个高级make版本并在任何地方使用它。
ifeq
endif
是Gnu make扩展。问:你在使用Gnu Make吗?查看并
pkg安装gmake
&
cd src&&gmake first
@FoggyDay,是的,它是GNUmake。我试着根据差异修改语法,但没有成功。我把支票全部扔掉了。你知道如何写它吗?当你说“是的,它是GNU make”时,我想你的意思是,是的,问题是你没有使用GNU make。这些错误肯定不是由GNU生成的。除非只使用最基本的POSIX make语法(POSIX make中没有类似于
ifeq
的语法),否则无法编写BSD make和GNU make之间兼容的make文件。对于除最基本的makefile之外的任何makefile,您只需选择一个高级make版本,并在任何地方使用它。