-$(PROJECT)-seeed.zip: $(PROJECT).bottom.gbr $(PROJECT).all-drill.cnc $(PROJECT)-sch.pdf $(PROJECT).xy $(SEEED_EXTRA)
- cp $(PROJECT).bottom.gbr $(PROJECT).gbl
- cp $(PROJECT).bottommask.gbr $(PROJECT).gbs
- if [ -f $(PROJECT).bottomsilk.gbr ]; then \
- cp $(PROJECT).bottomsilk.gbr $(PROJECT).gbo; \
- fi
- if [ -f $(PROJECT).bottompaste.gbr ]; then \
- cp $(PROJECT).bottompaste.gbr $(PROJECT).gbp; \
- fi
- if [ -f $(PROJECT).topsilk.gbr ]; then \
- cp $(PROJECT).topsilk.gbr $(PROJECT).gto; \
- fi
- if [ -f $(PROJECT).toppaste.gbr ]; then \
- cp $(PROJECT).toppaste.gbr $(PROJECT).gtp; \
- fi
- cp $(PROJECT).outline.gbr $(PROJECT).gml
- cp $(PROJECT).top.gbr $(PROJECT).gtl
- cp $(PROJECT).topmask.gbr $(PROJECT).gts
- cp $(PROJECT).all-drill.cnc $(PROJECT).txt
- if [ -f $(PROJECT).group1.gbr -a -f $(PROJECT).group2.gbr ]; then \
- cp $(PROJECT).group1.gbr $(PROJECT).gl2; \
- cp $(PROJECT).group2.gbr $(PROJECT).gl3; \
- elif [ -f $(PROJECT).group2.gbr -a -f $(PROJECT).group3.gbr ]; then \
- cp $(PROJECT).group2.gbr $(PROJECT).gl2; \
- cp $(PROJECT).group3.gbr $(PROJECT).gl3; \
- fi
- rm -f $@ && zip $@ \
- $(PROJECT).gtl $(PROJECT).gts $(PROJECT).gto $(PROJECT).gtp \
- $(PROJECT).gbl $(PROJECT).gbs $(PROJECT).gbo $(PROJECT).gbp \
- $(PROJECT).gml $(PROJECT).txt \
- $(PROJECT).gl2 $(PROJECT).gl3 \
- $(PROJECT).xy $(PROJECT)-sch.pdf \
- $(SEEED_EXTRA)
-
-goldphoenix: $(PROJECT)-goldphoenix.zip
-
-$(PROJECT)-goldphoenix.zip: $(PROJECT).bottom.gbr $(PROJECT).all-drill.cnc $(PROJECT)-sch.pdf $(PROJECT).xy $(PROJECT)-goldphoenix.csv
- cp $(PROJECT).bottom.gbr $(PROJECT).gbl
- cp $(PROJECT).bottommask.gbr $(PROJECT).gbs
- if [ -f $(PROJECT).bottomsilk.gbr ]; then \
- cp $(PROJECT).bottomsilk.gbr $(PROJECT).gbo; \
- fi
- if [ -f $(PROJECT).bottompaste.gbr ]; then \
- cp $(PROJECT).bottompaste.gbr $(PROJECT).gbp; \
- fi
- if [ -f $(PROJECT).topsilk.gbr ]; then \
- cp $(PROJECT).topsilk.gbr $(PROJECT).gto; \
- fi
- if [ -f $(PROJECT).toppaste.gbr ]; then \
- cp $(PROJECT).toppaste.gbr $(PROJECT).gtp; \
- fi
- cp $(PROJECT).outline.gbr $(PROJECT).gml
- cp $(PROJECT).top.gbr $(PROJECT).gtl
- cp $(PROJECT).topmask.gbr $(PROJECT).gts
- cp $(PROJECT).all-drill.cnc $(PROJECT).txt
- if [ -f $(PROJECT).group1.gbr -a -f $(PROJECT).group2.gbr ]; then \
- cp $(PROJECT).group1.gbr $(PROJECT).gl2; \
- cp $(PROJECT).group2.gbr $(PROJECT).gl3; \
- elif [ -f $(PROJECT).group2.gbr -a -f $(PROJECT).group3.gbr ]; then \
- cp $(PROJECT).group2.gbr $(PROJECT).gl2; \
- cp $(PROJECT).group3.gbr $(PROJECT).gl3; \
- fi
- rm -f $@ && zip $@ \
- $(PROJECT).gtl $(PROJECT).gts $(PROJECT).gto $(PROJECT).gtp \
- $(PROJECT).gbl $(PROJECT).gbs $(PROJECT).gbo $(PROJECT).gbp \
- $(PROJECT).gml $(PROJECT).txt \
- $(PROJECT).gl2 $(PROJECT).gl3 \
- $(PROJECT).xy $(PROJECT)-sch.pdf \
- $(PROJECT)-goldphoenix.csv
-
-stencilsunlimited: $(PROJECT).bottom.gbr $(PROJECT).toppaste.gbr $(PROJECT).outline.gbr
- rm -f $(PROJECT)-stencil.zip && zip $(PROJECT)-stencil.zip $(PROJECT).toppaste.gbr $(PROJECT).outline.gbr
-
-stencil: $(PROJECT).pcb
- pcb -x gerber --paste-adjust -0.075 $(PROJECT).pcb
- mv $(PROJECT).toppaste.gbr stencil.gbr
+$(PROJECT)-seeed.zip: $(PROJECT).lht $(CONFIG) $(PROJECT)-sch.pdf $(SEEED_EXTRA)
+ pcb-rnd -x cam gerber:Seeed --outfile out/$(PROJECT) $(PROJECT).lht
+ $(call emit_xyrs)
+ rm -f $@ && zip -j $@ out/* $(PROJECT).xy $(PROJECT)-sch.pdf $(SEEED_EXTRA)
+
+jlcpcb: $(PROJECT)-jlcpcb.zip
+
+$(PROJECT)-jlcpcb.zip: $(PROJECT).lht $(CONFIG)
+ pcb-rnd -x cam gerber:JLC_PCB --outfile out/$(PROJECT) $(PROJECT).lht
+ $(call emit_xyrs)
+ rm -f $@ && zip -j $@ out/* $(PROJECT).xy
+
+stencilsunlimited: $(BOTTOMCOPPER) $(PROJECT).toppaste.gbr $(OUTLINE)
+ rm -f $(PROJECT)-stencil.zip && zip $(PROJECT)-stencil.zip $(PROJECT).toppaste.gbr $(OUTLINE)
+
+stencil: $(PROJECT).lht
+ pcb-rnd -x cam gerber:stencils --outfile out/$(PROJECT) $(PROJECT).lht
+
+$(PROJECT).scad: $(PROJECT).lht
+ pcb-rnd -x openscad $(PROJECT).lht
+
+$(PROJECT).stl: $(PROJECT).scad
+ openscad --o $(PROJECT).stl $(PROJECT).scad