avr-shake (empty) → 0.0.0.1
raw patch · 3 files changed
+73/−0 lines, 3 filesdep +basedep +shakesetup-changed
Dependencies added: base, shake
Files
- Setup.lhs +5/−0
- avr-shake.cabal +26/−0
- src/Development/Shake/AVR.hs +42/−0
+ Setup.lhs view
@@ -0,0 +1,5 @@+#!/usr/bin/env runhaskell++> import Distribution.Simple+> main = defaultMain+
+ avr-shake.cabal view
@@ -0,0 +1,26 @@+name: avr-shake+version: 0.0.0.1+stability: experimental++cabal-version: >= 1.6+build-type: Simple++author: James Cook <mokus@deepbondi.net>+maintainer: James Cook <mokus@deepbondi.net>+license: PublicDomain+homepage: https://github.com/mokus0/avr-shake++category: Development+synopsis: AVR Crosspack actions for shake build systems.+description: AVR Crosspack actions for shake build systems.++source-repository head+ type: git+ location: git://github.com/mokus0/avr-shake.git++Library+ ghc-options: -fwarn-unused-imports -fwarn-unused-binds+ hs-source-dirs: src+ exposed-modules: Development.Shake.AVR+ build-depends: base >= 3 && <5,+ shake == 0.10.*
+ src/Development/Shake/AVR.hs view
@@ -0,0 +1,42 @@+module Development.Shake.AVR+ ( avr_gcc, avr_gcc'+ , avr_ld, avr_ld'+ , avr_objcopy, avr_objcopy'+ , avr_objdump, avr_objdump'+ , avrdude, avrdude'+ ) where++import Development.Shake+import Development.Shake.Command++gccDeps cc cFlags src = do+ Stdout cppOut <- command [Traced ""] cc (cFlags ++ ["-M", "-MG", "-E", src])+ return (filter (/= "\\") (drop 2 (words cppOut)))++avr_gcc = avr_gcc' "avr-gcc"+avr_gcc' cc cFlags src out = do+ need [src]+ need =<< gccDeps cc cFlags src+ system' cc (cFlags ++ ["-c", src, "-o", out])++avr_ld = avr_ld' "avr-ld"+avr_ld' ld ldFlags objs out = do+ need objs+ system' ld (ldFlags ++ ["-o", out] ++ objs)++avr_objcopy = avr_objcopy' "avr-objcopy"+avr_objcopy' objcopy fmt flags src out = do+ need [src]+ system' objcopy (flags ++ ["-O", fmt, src, out])++avr_objdump = avr_objdump' "avr-objdump"+avr_objdump' objdump src out = do+ need [src]+ Stdout lss <- command [] objdump ["-h", "-S", src]+ writeFileChanged out lss++avrdude = avrdude' "avrdude"+avrdude' avrdudeBin flags hex usbPort = do+ alwaysRerun+ need [usbPort, hex]+ system' avrdudeBin (flags ++ ["-P", usbPort, "-Uflash:w:" ++ hex])