ArduinoのUNOとLeonardoは性能的には似通っているが割り込みやタイマなど微妙に違う部分がある。それぞれのボードに対応したスケッチを分けずに書きたいなあと思っていた。

 以下の方法でボードを識別することができる。
Determine Arduino Board Model and Version Programmatically

Arduino UNO系では:
#if defined(__AVR_ATmega328P__)

Arduino Leonardo系では:
#if defined(__AVR_ATmega32U4__)

で判断することができる。Arduino IDEの1.0.6 / 1.6.7 / 1.7.8 で動作確認した。
これらはスケッチ内だけではなく、よりマイコンの内部構成に依存した書き方が必要なライブラリ内でも利用できる。