Compiler Directive That Sets Tools > Board Selection?

I've done a few projects on alternate Atmel Tiny and Mega microcontrollers using the Arduino IDE. One thing that is annoying is having to remember to switch the board target before compiling, otherwise you just get unworking code. It would be nice if there was a way to override this selection in the sketch itself. Does anyone know if there is a compiler directive for this? Thanks.

The IDE uses the 'core' and 'variant' setting in boards.txt to pick the right core libraries to compile and link with your sketch.

Maybe could put directives in your sketch to cause a compile-time error if you try to compile for the wrong processor type.