Arduino build process

I am currently writing a small program and have a question about the build process… with verbose output i got interestering (and reproducable) output, but the avr-ar lines are somewhat strange for me:

C:\arduino-0017\hardware\tools\avr\bin\avr-ar rcs C:\Users\NACHTW~1\AppData\Local\Temp\build45720.tmp\core.a C:\Users\NACHTW~1\AppData\Local\Temp\build45720.tmp\pins_arduino.c.o

where does core.a come from? I havent compiled no core.a file before and would like to know where to find or how to produce it. thanks in advance!

okok… dont say anything… i know…

stupid me.

core.a is the “core libraries” (wiring.c, wiring_serial.c, etc), built for you automatically.

Actually, the core libraries are relatively new. They were added in 11 or 12 (?) to reduce sketch size, and then removed in 14 (?) when it was thought that new optimization switches accomplished the same thing, and then put back in 15 (?) when that turned out not to be the case.

(The verbose line you list: “avr-ar rcs …core.a …pins_arduino.c.o” is the command that adds pins_arduino to the core library…)

(I have a bit of a pet peeve about threads that end “never mind, I figured it out”, without explaining the solution to “the rest of us.” (Even if it was “obvious.”))

ok, youre right.

The file gets generated with the avr-ar command and is therefore nowhere to be found ;0)
Although i must add that i wonder why the core.a file gets bigger and bigger each time it is compiled - although thats no ‘real life’ problem as it is created every time again i wonder though why it gets bigger if not deleted. I thought the core.a file would be some sort of compilation of the objects that were done earlier…