Am Mittwoch, den 10.09.2014, 15:56 -0400 schrieb Sebastien Mondet: > > - omake did that with yet another obscure and weird language (I guess > the goal was to "look" like `make` but with even more broken string > escaping). omake has at least a working, powerful and quite clean model of dependencies, and the build rules for the supported languages (like OCaml) are read from OMakefiles and are not hard-coded. There was some excellent analysis how to achieve this. I also think that the omake language is a bit obscure as language. It's a dynamic functional language that tries to do too much; you can run code as functions, as statements, and as commands, and all these three forms use a slightly different syntax (I guess that's why you complain about broken string escaping - it is sometimes confusing which syntactical rules are applicable at a certain point in the code). I'd love when this part would be dropped, and I could develop all the helper functionality for a build directly in OCaml, enhanced by syntax extensions for running shell commands and for entering build rules into the dependency tree. E.g. you could have: let variable = ... let do_something() = ... <:make< file_to_create: file_dep1 file_dep2 ./build_tool.sh $(variable) $(do_something()) >> just to illustrate the idea of mixing several notations in the same file. Every OMakefile could e.g. be understood as functor that takes an environment with build rules and returns a new, extended environment. Finally everything is combined and executed. (Too bad that I don't have more time to work on something like this.) Gerd > - ocamlbuild and jenga picked the right language. > > - ocamlbuild's API is very limited, there is not even a clear way > to replace all the crazy small files required everywhere (_tags, > mllib, ...) with function calls within a myocamlbuild.ml plugin. It is > also painfully slow. > > - Jenga is not for "normal" projects. It takes half-an-hour to > build jenga itself, and it's dependency tree is not very portable. The > API is very convoluted even for simple projects. > > > Look at https://github.com/samoht/assemblage/ certainly going to in > the right direction. > > > > > > > -- > Peter Zotov > > > > > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------