(J'ai cherché comment on disait build system en français, et aucune expression ne m'est venue à l'esprit. Je préfère utiliser un terme que tout le monde comprend qu'une traduction personnelle hasardeuse.)

Quand j'étais petit, les gens, sur PC (DOS puis Windows) utilisaient des environnements de développement intégrés (Turbo Pascal, Turbo C++). Enfin, je dis ça, mais quand j'étais vraiment petit, les gens tapaient du BASIC sur des Thomson MO5, des Apple II ou des Amstrad CPC464 ; en fait je parle de mon époque lycée.

Les unixiens utilisaient l'outil make, mais l'écriture des fameux "Makefile" était parfois fastidieuse, aussi utilisait-on des outils censés faciliter la gestion des Makefile. Il y avait donc les imakefiles, xmkmf et autres joyeusetés. Je dis « censés » car en pratique...

Puis GNU est arrivé avec ses autotools (autoconf, automake, etc.) et ses scripts configure. Honnêtement, cela fait une dizaine d'année que j'utilise ces trucs et je n'ai jamais vraiment bien compris comment cela fonctionne. En tout cas, ils font hurler de nombreuses personnes. L'avantage des autotools, c'est que quand ça fonctionne, c'est plus simple que de tripatouiller le Makefile à la main. Le désavantage est que quand ça ne fonctionne pas, c'est incompréhensible.

Sur Java, on utilise plutôt ant, qui se paramètre avec des fichiers XML. Quel bonheur ; au fait, qu'y a-t-il comme éditeur XML agréable ? Parce que le XML à la main dans un éditeur texte, c'est pénible...

Je m'aperçois que des programmes récents n'utilisent plus make, mais un outil Python appelé scons. D'autres préfèrent un outil appelé waf.

Je serais preneur d'un bon comparatif.