是否可以在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你可以請你恢復你的答案,因爲我認爲我有一個編輯它,讓我更加接近 –