Problem programming 168 with avrdude

Hi! I just got a pair of Arduino NG's.
I'm running linux and am an experienced C programmer so I didn't want to use the arduino IDE but installed the crosscompilation toolchain from source, and the arduino-core archive..
I'm using these settings in my Makefile:

PORT = /dev/ttyUSB0
TARGET = arduino-test
ARDUINO = /Files/AVR-Cross/arduino-core
SRC = $(TARGET).c $(ARDUINO)/buffer.c $(ARDUINO)/pins_arduino.c \
  $(ARDUINO)/Serial.c $(ARDUINO)/uart.c $(ARDUINO)/wiring.c
CXXSRC = $(ARDUINO)/HardwareSerial.cpp $(ARDUINO)/WRandom.cpp
MCU = atmega168
F_CPU = 16000000
FORMAT = ihex
UPLOAD_RATE = 19200

I compiled the led blink code successfully, but had troubles uploading it... then I realized that MCU should be atmega168 and not atmega8, after that change I successfully uploaded the code and got it to run. But the LED blinked way too fast (not 1000ms) and I tried changing it to 10000 in the code and compiling and uploading it again, but then it just went black. And now I can't get it to run! (whatever delay values I use in the led blink code).

Here's the output from avrdude:

avrdude -v -F -p atmega168 -P /dev/ttyUSB0 -c stk500 -b 19200 -U flash:w:arduino-test.hex

avrdude: Version 5.3.1, compiled on Mar  7 2007 at 23:35:38
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "/Files/AVR-Cross/etc/avrdude.conf"
         User configuration file is "/Users/lijon/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port            : /dev/ttyUSB0
         Using Programmer      : stk500
         Overriding Baud Rate  : 19200
avrdude: successfully opened stk500v1 device -- please use -c stk500v1
         AVR Part              : ATMEGA168
         Chip Erase delay      : 9000 us
         PAGEL                 : PD7
         BS2                   : PC2
         RESET disposition     : dedicated
         RETRY pulse           : SCK
         serial program mode   : yes
         parallel program mode : yes
         Timeout               : 200
         StabDelay             : 100
         CmdexeDelay           : 25
         SyncLoops             : 32
         ByteDelay             : 0
         PollIndex             : 3
         PollValue             : 0x53
         Memory Detail         :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65     5     4    0 no        512    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     16384  128    128  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500
         Hardware Version: 2
         Firmware Version: 1.15
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA168 is 1E 94 06
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "arduino-test.hex"
avrdude: input file arduino-test.hex auto detected as Intel Hex
avrdude: writing flash (4294 bytes):

Writing | ################################################## | 100% 3.25s

avrdude: 4294 bytes of flash written
avrdude: verifying flash memory against arduino-test.hex:
avrdude: load data flash data from input file arduino-test.hex:
avrdude: input file arduino-test.hex auto detected as Intel Hex
avrdude: input file arduino-test.hex contains 4294 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 3.23s

avrdude: verifying ...
avrdude: 4294 bytes of flash verified

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

It seems to quit the bootloader after some time though, since I can't re-upload anything if I wait too long after pressing the RESET button on the board... So perhaps it's running something??

Also, is it correct that the bootloader should flash the LED on pin 13 three times and then stay black when pressing the RESET button?

Please, does anyone have any answers do this? I tried asking at the devel mailinglist and all I got was that I should ask here...
What could be wrong?

Ok, I found it. The arduino-core-007 tarball had pre-compiled object files included, which was probably compiled for atmega8 and not my atmega168! So after removing them and recompiling them, the code works fine!

Ah. Glad you figured it out. Not many people use the Arduino core distribution, which is probably why we didn't notice the problem. I'll try to remember to fix this for the 0008 release.