-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathbuild.ninja
47 lines (36 loc) · 2.13 KB
/
build.ninja
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ergogen
rule ergogen
description = Build kicad files
command = ergogen $infolder -o $outfolder
#build pcbs/pcbs/keyboard.kicad_pcb pcbs/pcbs/switchplate.kicad_pcb: ergogen
# infolder = ./ergogen
# outfolder = ./pcbs
# kicad
# limit paralell jobs because kicad locks file access
pool kicad_pool
depth = 1
rule stepfile
description = Create stepfile
command = kicad-cli pcb export step $in -o $out
rule stepfile1.2
description = Create a stepfile with a board height of 1.2 mm
command = kicad-cli pcb export step $in -o $out && sed -i -e "s/1\.6)/1.2)/g" $out
build 3dprints/switchplate/switchplate.step: stepfile1.2 pcbs/pcbs/switchplate.kicad_pcb
# gerbers
rule drill
description = Create drill files and drill map
command = kicad-cli pcb export drill --generate-map --map-format gerberx2 --excellon-separate-th $in -o $outfolder
pool = kicad_pool
rule gerbers
description = Create gerber files
command = kicad-cli pcb export gerbers --subtract-soldermask -l $layer $in -o $outfolder
pool = kicad_pool
build gerbers/keyboard-PTH.drl gerbers/keyboard-NPTH.drl gerbers/keyboard-NPTH-drl_map.gbr gerbers/keyboard-PTH-drl_map.gbr: drill pcbs/pcbs/keyboard.kicad_pcb
outfolder = ./gerbers/
build gerbers/keyboard-B_Cu.gbl gerbers/keyboard-B_Mask.gbs gerbers/keyboard-B_Paste.gbp gerbers/keyboard-B_Silkscreen.gbo gerbers/keyboard-Edge_Cuts.gm1 gerbers/keyboard-F_Cu.gtl gerbers/keyboard-F_Mask.gts gerbers/keyboard-F_Paste.gtp gerbers/keyboard-F_Silkscreen.gto gerbers/keyboard-job.gbrjob: gerbers pcbs/pcbs/keyboard.kicad_pcb
layer = "F.Cu,B.Cu,F.Paste,B.Paste,F.Silkscreen,B.Silkscreen,F.Mask,B.Mask,Edge.Cuts"
outfolder = ./gerbers/
rule zip
description = zip files together
command = zip $out $in
build gerbers.zip: zip gerbers/keyboard-B_Cu.gbl gerbers/keyboard-B_Mask.gbs gerbers/keyboard-B_Paste.gbp gerbers/keyboard-B_Silkscreen.gbo gerbers/keyboard-Edge_Cuts.gm1 gerbers/keyboard-F_Cu.gtl gerbers/keyboard-F_Mask.gts gerbers/keyboard-F_Paste.gtp gerbers/keyboard-F_Silkscreen.gto gerbers/keyboard-job.gbrjob gerbers/keyboard-NPTH.drl gerbers/keyboard-NPTH-drl_map.gbr gerbers/keyboard-PTH.drl gerbers/keyboard-PTH-drl_map.gbr