为什么前面的一个点包含在freebsd端口的makefile中?是什么让他们使用?

时间:2010-07-21 19:17:12

标签: makefile freebsd

我正在浏览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吗?

2 个答案:

答案 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合规性之外的其他任何东西