A compiler cannot target more than one language, because it simply converts the source code of a specific language to the machine code. A cross-compiler can compile one language, one-to-many machines. Anywise, there is something called "compiler system", which contains an integrated variety of compilers, and the most common one is the GNU Compiler Collection (GCC).
Actually Compiler is design for specific language. if we to make common compiler for all language. then require high maintenance cost and also very difficult to manage.
in Technical words it's very complicated, failure rate is high
for example we require to run asp.net .net environment and for java java environment and so on. so size required to for common compiler is more.