古いバージョンのgmakeを使用すると、明らかでないエラーが発生するmakefileがあります。バージョンが少なくともバージョン3.82以降であることを確認するルールが欲しいのですが。私は次のルールに到達しましたが、比較は脆弱です。それ以降のバージョンも可能にする比較が本当に必要です。
GMAKE_VERSION := $(shell gmake --version | head -n 1 | sed 's/GNU Make //')
.PHONY: testMake
testMake:
@if [ "$(GMAKE_VERSION)" != "3.82" ]; \
then \
echo >&2 "Unexpected gmakefile version " \
"$(GMAKE_VERSION), expecting 3.82 or later."; \
false; \
fi
makeのバージョンが少なくともv3.82であることを保証できるGNUmakefileルールは何ですか?