22. August 2013 10:30
By default, "project defines" do not normally cause core and libraries to re-compile unless defines that are listed in boards.txt (arduino config file) have changed.
If the automatic re-build detection is not accurate enough for your needs then there are two features that will be useful:-
Clicking "Build>Clean" clears the cache and forces the next compile to be a full compile.
It is also possible to switch on the these two project properties which will force a re-compile if any of the project defines change.
Project Defines Affect Core = True
Project Defines Affect Libraries = True