diff --git a/avr-shake.cabal b/avr-shake.cabal
--- a/avr-shake.cabal
+++ b/avr-shake.cabal
@@ -1,5 +1,5 @@
 name:                   avr-shake
-version:                0.0.0.2
+version:                0.0.0.3
 stability:              experimental
 
 cabal-version:          >= 1.6
diff --git a/src/Development/Shake/AVR.hs b/src/Development/Shake/AVR.hs
--- a/src/Development/Shake/AVR.hs
+++ b/src/Development/Shake/AVR.hs
@@ -3,6 +3,7 @@
     , avr_ld,       avr_ld'
     , avr_objcopy,  avr_objcopy'
     , avr_objdump,  avr_objdump'
+    , avr_size,     avr_size'
     , avrdude,      avrdude'
     ) where
 
@@ -33,6 +34,12 @@
     need [src]
     Stdout lss <- command [] objdump ["-h", "-S", src]
     writeFileChanged out lss
+
+avr_size = avr_size' "avr-size"
+avr_size' avrsizeBin src = do
+    need [src]
+    Stdout lss <- command [] avrsizeBin [src]
+    putNormal lss
 
 avrdude = avrdude' "avrdude"
 avrdude' avrdudeBin mem flags hex port = do
