Comment écrire plusieurs conditions dans le Makefile.suis avec “else if”
Je veux compiler mon projet avec autoconf/automake. Il y a 2 conditions définies dans ma configuration.ca
AM_CONDITIONAL(HAVE_CLIENT, test $enable-client -eq 1)
AM_CONDITIONAL(HAVE_SERVER, test $enable-server -eq 1)
Je veux séparer _LIBS de ces 2 conditions dans le Makefile.suis
if HAVE_CLIENT
libtest_LIBS = \
$(top_builddir)/libclient.la
else if HAVE_SERVER
libtest_LIBS = \
$(top_builddir)/libserver.la
else
libtest_LIBS =
endif
mais else if HAVE_SERVER
ne fonctionne PAS.
Comment écrire "else if" dans le makefile.am?
Vous devez vous connecter pour publier un commentaire.
ptomato du code peut également être écrit dans un nettoyant, comme:
Cela ne veut pas répondre à l'OP de la question, mais comme il est le premier résultat sur google, je vais ajouter ici dans le cas où c'est utile à quelqu'un d'autre.
endif
ensemble au même niveau d'indentation, ce qui ne serait pas très bon non plusendif
est assez, que je viens d'ajouter. Le problème avec l'indentation est donnée dans tous les cas (lors de l'utilisation d'un plus grand/imbriquéeelse
bloc).else ifeq (…)
.make
devient confus si il manque et ce sera la fin de la conditionnelle anticipée.Extraneous text after 'else' directive.
.Je accepter ldav1s réponse, si j'étais vous, mais je veux juste souligner que "else if" peut être écrite en termes de 'd'autre et si dans n'importe quelle langue:
(L'indentation est pour plus de clarté. Ne pas indenter les lignes, ils ne fonctionnent pas.)
Extraneous text after 'else' directive
.Comme vous l'avez découvert, vous ne pouvez pas le faire. Vous pouvez le faire:
...
REMARQUE: NE PAS indenter si il ne fonctionne pas!