its actually pretty simple to do... i have built a few. depends on what materials you want to go for. if you want something strong and cheap 2x4's and plywood works as long as you seal the wood well. but they can get very heavy very quick. aluminum is my prefered method. make the frame you want out of 1" x1" angle then weld on some aluminum diamondplate or even just sheet metal. can make it look just as good as a store baught one that is customized to what you want... i made one that was custom fit to house a honda "whisper quiet" generator that had air intakes and exhaust plumbed through it, along with circuit breakers and a battery charging system for a buddies dodge 3500 that he tows a motor home with. i have yet to do one for my truck just because i want to decide on what i want to do with it first. steel is cheap but ultra heavy. good if you dont ever plan on removing it

Canadian tire or walmart has some good ones in the $250 - $300 range... Delta is the brand name i believe.
Edit: steel is cheap if you can make it out of scraps, otherwise its only cheap compaired to the price of aluminum stock.