是否可以在makefile中检查使用gmake而不是BSD make?
还是我坚持使用 GNUmakefile 的大锤方法,这似乎有点不雅,而且绝对不是用户友好的?
@Amiramix 在他对同一问题的SO 答案的评论中简洁地表达了我的保留意见。
编辑:如果使用 BSD make 来评估 Makefile,那么我希望它能够保释和咩咩,应该运行 gmake 来评估 Makefile。
编辑 2:我从@devnull 中获取了现在可悲地删除的答案,并对其进行了一些尝试以使其达到:
MAKEVERSION=Not_GNU
checkVariant:
@MAKEVERSION=`${MAKE} --version 2>/dev/null | head -1 | sed -e 's/^\(GNU\).*$/\1/'`; \
if [ "${MAKEVERSION}" != "GNU" ]; then \
echo "Not using gmake"; \
exit 1; \
fi
但是 sed 抱怨在命令行上运行良好的命令是乱码。
当我有机会继续比赛时,我会回来的。