Thanks for the additional information. I really appreciate it.
Because this has been going on for quite some time, my first thought would be that he's got some sort of regurgitation problem that is caused either by something out of whack in his digestive tract, or possibly from a doggy form of acid reflux.
The first thing I would do would be to call your vet and discuss it with him to see if he thinks there's anything in your pups past medical history that could be causing this to happen. If it turns out he has something like acid reflux, they'll be able to get him on some medication such as Prilosec to help get the vomiting to stop.
While you wait for the weekend to end to call your vet, try not allowing him to free feed. Meaning, don't leave food out for him all the time. Give him timed feedings, where you put his food down twice a day and allow him to eat for 15 minutes or so, then pick the bowl back up. Of couse, allow him to have access to water all day.
You can also try giving him his food spread out on a baking sheet, instead of in a bowl. If he's vomiting because he's eating too quickly, then spreading the food out will force him to slow down to eat.
I hope this helps.