• [^] # Re: Pour ce qui est de gcj.....

    Posté par . En réponse à la dépêche [Débat] Implémentations libres de java : sont elles utilisées dans la pratique ?. Évalué à 3.

    Justement, c'est déclaratif. Et ça donne deux avantages:
    1 - C'est portable; une cible javac va invoquer le bon compilateur avec les bons arguments. Si tu compare avec les Makefile, ils sont tellement pas portables que autoconf est obligé de les régénérer pour chaque platforme, en définissant des gazillions de variables comme MV, CC, AWK, CCDPMODE, ECHO_N, ac_ct_AR, LN_S. Les commandes de make sont des commandes interprétées par le shell et elles sont donc sensibles à tous les petits problèmes de quotes du shell et à toutes les petites incompatibilités entre les versions GNU, BSD et autres. Ant se contente d'utiliser une API portable.
    2 - On peut facilement l'analyser; le graphe des dépendances est stocké explicitement dans le format XML, donc on peut l'utiliser pour des requêtes comme lister tous les fichiers qui dépendent de tel source. Si tu as une commande gcc test.c -o test.o, make ne peut pas deviner que test.o dépend de test.c, a moins qu'on lui indique explicitement.