packages feed

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 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])