Well, there is a company in Thailand the produces an ATmega32 Arduino clone so it's not a huge stretch. A first step would be to download "Software Support" from their page:
http://www.thaieasyelec.net/index.php/Arduino/ATmega32-Dev-Board-Arduino-Diecimila-Compatible-DIP-28-DIP-40-/p_133.htmlThe 12MHz clock rate will be a problem. Anything that relies on 'delayMicroseconds()' only works properly at 8 or 16 MHz. Also any value of MHz that doesn't divide into 64 evenly will get incorrect values for delay(). You should change the crystal to 8 MHz.
Then you have to burn an Arduino bootloader onto the chip. Since it comes with a 10-pin ICSP port and not a 6-pin ICSP port you will probably need an ICSP programmer that supports both, like the USBtinyISP from adafruit:
http://www.adafruit.com/products/46The "Software Support" from Thailand doesn't include a bootloader. Maybe the ATmegaBOOT.hex bootloader will work. Maybe it won't. I suspect they just didn't think users would need the ability to burn a fresh ATmega32 bootloader so I suspect the bootloader and fuse settings they provide are just left over from whatever boards.txt entry they cloned:
atmega32.name=ArduinoMega32
atmega32.upload.protocol=stk500
atmega32.upload.maximum_size=28336
atmega32.upload.speed=19200
atmega32.bootloader.low_fuses=0xff
atmega32.bootloader.high_fuses=0xdd
atmega32.bootloader.extended_fuses=0x00
atmega32.bootloader.path=atmega
atmega32.bootloader.file=ATmegaBOOT.hex
atmega32.bootloader.unlock_bits=0x3F
atmega32.bootloader.lock_bits=0x0F
atmega32.build.mcu=atmega32
atmega32.build.f_cpu=16000000L
atmega32.build.core=arduino
Other entries in there may be bogus as well. I'd suspect the maximum sketch size value. Also, the f_cpu will need to match your new 8 MHz crystal.
The Software Support provides a new ATmega32 compatible arduino core. Looks like they may have intended you to OVERWRITE the existing core. Probably better to save the new core as 'arduino32' under <sketch directory>/hardware/arduino32/cores/arduino32