Comment forcer une erreur dans un fichier gnumake

Je veux détecter une condition dans mon fichier Make où un outil est la mauvaise version et forcer le make à échouer avec un message d’erreur indiquant que l’élément n’est pas la bonne version.

Quelqu’un peut-il donner un exemple de faire cela?

J’ai essayé ce qui suit mais ce n’est pas la bonne syntaxe:

ifeq "$(shell svnversion --version | sed s/[^0-9\.]*://)" "1.4" $error("Bad svnversion v1.4, please install v1.6") endif 

Merci.

A partir du manuel :

 $(error Bad svn version v1.4, please install v1.6) 

Cela entraînera une erreur fatale:

 $ make Makefile:2: *** Bad svn version v1.4, please install v1.6. Stop. 

Alors que $ (error … fonctionne, il est parfois plus facile d’utiliser une règle qui échoue

 test_svn_version: @if [ $$(svn --version --quiet | \ perl -ne '@a=split(/\./); \ print $$a[0]*10000 + $$a[1]*100 + $$a[2]') \ -lt 10600 ]; \ then \ echo >&2 "Svn version $$(svn --version --quiet) too old; upgrade to v1.6"; false; \ fi 

Ensuite, vous faites de test_svn_version une condition préalable de votre cible de premier niveau.

Le conditionnel nécessite également une certaine attention.

 ifeq ($ (shell svnversion --version | sed s / [^ 0-9 \.] *: //), 1.4) 
     $ (erreur Bad svnversion v1.4, veuillez installer la version 1.6)
 fin si