I've created a patch for ClojureCLR that allows the Clojure.Compile.exe to build a single .dll or .exe when given a list of .clj files. This is basically the same concept as the ILMerge, but it gives the benefit to the programmer with a project containing many .clj files, rather than only to clojure.dll itself.
The merged/separate option can be specified at the commandline, so users can choose the previous method if they prefer.
I didn't remove ILMerge from the ClojureCLR build process, but it should theoretically be easy to do if desired.
ILMerge is working, but its license doesn't allow redistribution & would require each programmer to learn to use the tool (unless its built into nLeiningen & vsClojure). It seems better if Clojure.Compile.exe doesn't make tons of dlls in the first place.
The basic usage is:
Clojure.Compile.exe -include test.clj -include test2.clj -outputAssemblyName test.dll
--or--
Clojure.Compile.exe -i test.clj -i test2.clj -o test.dll
If you leave off the -o parameter, it functions the same as previously.