The cheapest is probably a parallel cable 3, but you need a PC with a real parallel port. For like 15 $ you get a cheap china clone on ebay... is there any reason why you want to build the programmer ? A USB programmer needs a Cypress USB chip and a CPLD....
There are also boards FPGA+Programmer all in one...