This section explains how every part of the system works. this is useful if you want to modify or add to arduino.
The arduino code is actually just plain old c without all the header part (the includes and all). when you press the 'compile' button, the IDE saves the current file as arduino.c in the 'lib/build' directory then it calls a makefile contained in the 'lib' directory.
This makefile copies arduino.c as prog.c into 'lib/tmp' adding 'wiringlite.inc' as the beginning of it. this operation makes the arduino/wiring code into a proper c file (called prog.c).
After this, it copies all the files in the 'core' directory into 'lib/tmp'. these files are the implementation of the various arduino/wiring commands adding to these files adds commands to the language
The core files are supported by pascal stang's procyon avr-lib that is contained in the 'lib/avrlib' directory
At this point the code contained in lib/tmp is ready to be compiled with the c compiler contained in 'tools'. If the make operation is succesfull then you'll have prog.hex ready to be downloaded into the processor.
NOTE:the next release will see each architecture (avr/pic/8051) to treated as a 'plug-in' to the IDE so that the user can just select from a menu the microcontroller board to use and the IDE will pick the right compilation sequence.