summaryrefslogtreecommitdiff
path: root/build.nix
blob: 3770d576570eec83f6ff22da618b2659c550c807 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{ pkgs, teensy-core, ... }:

{
  build = name: source: pkgs.stdenv.mkDerivation rec {
    inherit name;

    src = source;

    buildInputs = with pkgs; [
      gcc-arm-embedded
      teensy-core
    ];

    buildPhase = ''
      export CC=arm-none-eabi-gcc
      export CXX=arm-none-eabi-g++
      export OBJCOPY=arm-none-eabi-objcopy
      export SIZE=arm-none-eabi-size

      cp ${./Makefile.default} Makefile
      export TEENSY_PATH=${teensy-core}
      make
    '';

    installPhase = ''
      mkdir $out
      cp *.hex $out/
    '';
  };
}