我正在浏览FreeBSD的ports tarball中的主要makefile。
我看到以下include指令:
PORTSTOP= yes
.include <bsd.port.subdir.mk>
index:
@rm -f ${INDEXDIR}/${INDEXFILE}
@cd ${.CURDIR} && make ${INDEXDIR}/${INDEXFILE}
并且想知道为什么一段时期在包括。
之前另外,他们在FreeBSD中使用GNU Make吗?
答案 0 :(得分:2)
FreeBSD有自己的make工具,它不是GNU make。它符合posix但有几个扩展,通常被称为BSD make。 最初的 。虽然只是制作make命令的某些结构的方式。
指令,条件和for循环让人想起C编程 语言在make中提供。所有这些结构都由a标识 以单点(“。”)字符开头的行。
因此,它只是一种区分某些构造与make语言其余部分的方法,与用于预处理程序指令的C / C ++中的````不同。
答案 1 :(得分:1)
FreeBSD使用其他BSD也使用的BSD版本的make(有时稍作修改)。例如,OpenBSD和NetBSD包含在BSD make中。
make程序符合POSIX标准但当然不会努力模仿GNU功能或者除了POSIX合规性之外的其他任何东西