是否可以在makefile中检查是否正在使用gmake而不是BSD make?测试gmake正在评估makefile
或者我坚持使用GNUmakefile的大锤方法,这看起来有点不雅,绝对不是用户友好的?
@Amiramix在他对这个SO answer对同一问题的评论中简洁地表达了我的保留意见。
编辑:如果使用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的抱怨,命令,工作正常在命令行中,出现乱码。
当我有机会进一步发挥时,我会回来。
你想让BSD Make做什么,如果它运行的是生成文件? – Beta
干杯@Beta我添加了一个编辑来解释。 –
@devnull你可以请你恢复你的答案,因为我认为我有一个编辑它,让我更加接近 –