If you are using layer 3 switches and Windows DHCP then just configure the scopes according to the ranges per vlan and also ensure that the DHCP relay is configured on the switches. (http://support.microsoft.com/kb/120932). I cannot say for other DHCP servers like ISC or DNSMASQ, but this is based on a standard so it may work the same.
If you are using a layer 2 switch then you need to have two NICs on the DHCP server to do the job.
If you are using Cisco devices to hand out the addresses then this article (http://articles.techrepublic.com.com/5100-1035_11-5690240.html) may help as the two suggestions above would not be applicable.
DHCP relays from the non-native VLAN to the VLAN teh DHCP service/server is on is typically the best solution…