Hi,
dass Linkerscript / Startupcode(!!) nicht von dir stammen ist ok, aber wenn du neuen Code dazuschreibst, musst du das Makefile schon anpassen. In der jetzigen Version gibt es für mehrere Dateien keine targets.
(Manche IDEs machen das automatisch, ist hier aber nicht der Fall.)
Dazu kommt, dass du z.B. deinen Startupcode weder assemblierst noch dazu linkst. Das _KANN_ also garnicht funktionieren.

Welches Make du nimmst hängt primär davon ab, welches make in den Verzeichnissen der PATH-Umgebung zuerst gefunden wird (Da muss man erst mal drauf kommen...)

Welche IDE man verwendet ist Geschmackssache, ich mag Eclipse z.B. nicht. Was Visual Studio anbelangt müsste man damit auch arbeiten können, da gibts sicher im Netz viele Anleitungen zum Thema.
Code::Blocks ist tatsächlich schon relativ alt, allerdings habe ich nichts gefunden, was besagen würde dass codeblocks nicht mehr weiterentwickelt wird. ( ... http://code.google.com/p/codeblocks-mix/ ... ? )

Du solltest dir zunächst mal anschauen wie Make funktioniert und dir dann nochmal vor Augen führen, wie dein Projekt zusammengesetzt wird (compilieren, linken etc).

Das $(LIBSTM32_OBJS): stm32f10x_conf.h besagt, dass die LibSTM32 von einer Datei namens stm32f10x_conf.h abhängt. Sollte sich stm32f10x_conf.h seit dem letzten build verändert haben, muss die Library neu compiliert werden. So ist das gedacht. Daher ist es wichtig, dieses Statement nicht auszukommentieren. Natürlich ist stm32f10x_conf.h in allen Dateien der Lib verlinkt. Aber voneinander abhängen und verlinken ist nicht das gleiche.
Wie gesagt, schau dir einfach make mal genauer an.

~