Unfortunately, you can't use only one Jtag for a universal purpose, without a real mess, the implementation/drivers / connectors, aren't the same. It's recommended to have several different jtags, like USB blaster for Altera, Xilinix jtag for Xilinix, and so soon, on arm wolrd is easier to have a universal jtag like jlink, but this does not apply to fpga world ( on theory is possible).
If you value your time, buy a programmer for each FPGA brand, this will help to write directly from the vendor tool, with the correct connector and driver.