Das Prob scheint weniger die C-Programmierung zu sein als das Flashen an sich.
  1. Aus der Quelle eine Binärdatei erstellen. Ist erst mal egal wie. Wichtig ist, daß dein Progger das Binärformat versteht. Am verbreitetsten für Hobby-AVR ist Intel Hex. (*.hex oder *.ihex)
  2. Der Progger muss wie gesagt
    -- Das Format verstehen/lesen können
    -- auf die Schnittstelle zugreifen können. Win32 zickt rum mit dem Parallel-Port. Dazu ist bei WinAVR eine giveio.sys dabei.
  3. Der Progger muss zum Prog-Adapter passen
  4. Der Prog-Adapter muss zum Board passen.

Hast du die Punkte schon mal abgehakt?
Falls es mit dem Makrfile nicht funzt kannst auch avr-gcc von Console (Eingabeaufforderung) aufrufen. make braucht man nicht unbedingt. Das steuert nur, compilieren tut das nix.