]> git.gag.com Git - hw/altusmetrum/commitdiff
add pcb_drc function to do 'c r' equivalent and fail if anything is wrong
authorBdale Garbee <bdale@gag.com>
Mon, 4 Aug 2025 19:10:15 +0000 (13:10 -0600)
committerBdale Garbee <bdale@gag.com>
Mon, 4 Aug 2025 19:10:15 +0000 (13:10 -0600)
pcb-rnd.mk

index b2f6ff3559b620dfd0273f8b5e90fb654671b5aa..830777d90864a06766b112c93bdad5fc7c151835 100644 (file)
@@ -66,6 +66,10 @@ pcb: $(SCHEMATICS) Makefile $(CONFIG)
                pcb-rnd --gui batch $(PROJECT).lht
 #      echo "Run pcb-rnd and import $(PROJECT).tdx"
 
+define pcb_drc
+       echo "Atomic(Save); DeleteRats(AllRats); Atomic(Restore); AddRats(AllRats); Atomic(Close)" | pcb-rnd --gui batch $(PROJECT).lht | grep "The layout is complete and has no shorted nets."
+endef
+
 define emit_xyrs
        pcb-rnd -x XY $(PROJECT).lht
 endef
@@ -73,6 +77,7 @@ endef
 ac: $(PROJECT)-ac-pcb.zip $(PROJECT)-ac-asy.zip
 
 $(PROJECT)-ac-pcb.zip:  $(PROJECT).lht $(CONFIG)
+       $(call pcb_drc)
        pcb-rnd -x cam gerber:universal --outfile out/$(PROJECT) $(PROJECT).lht
        rm -f $@ && zip -j $@ out/*
 
@@ -84,6 +89,7 @@ $(PROJECT)-ac-asy.zip:  $(PROJECT)-ac-pcb.zip partslist.csv
 oshpark: $(PROJECT)-oshpark.zip
 
 $(PROJECT)-oshpark.zip:        $(PROJECT).lht $(CONFIG)
+       $(call pcb_drc)
        pcb-rnd -x cam gerber:OSH_Park --outfile out/$(PROJECT) $(PROJECT).lht
        $(call emit_xyrs)
        rm -f $@ && zip -j $@ out/* $(PROJECT).xy
@@ -91,6 +97,7 @@ $(PROJECT)-oshpark.zip:       $(PROJECT).lht $(CONFIG)
 seeed: $(PROJECT)-seeed.zip $(PROJECT)-seeed.csv
 
 $(PROJECT)-seeed.zip:  $(PROJECT).lht $(CONFIG) $(PROJECT)-sch.pdf $(SEEED_EXTRA)
+       $(call pcb_drc)
        pcb-rnd -x cam doc_pnp_gerber --outfile out/$(PROJECT) $(PROJECT).lht
        pcb-rnd -x cam gerber:Seeed --outfile out/$(PROJECT) $(PROJECT).lht
        $(call emit_xyrs)
@@ -99,6 +106,7 @@ $(PROJECT)-seeed.zip:        $(PROJECT).lht $(CONFIG) $(PROJECT)-sch.pdf $(SEEED_EXTRA)
 jlcpcb: $(PROJECT)-jlcpcb.zip 
 
 $(PROJECT)-jlcpcb.zip: $(PROJECT).lht $(CONFIG)
+       $(call pcb_drc)
        pcb-rnd -x cam gerber:JLC_PCB --outfile out/$(PROJECT) $(PROJECT).lht
        $(call emit_xyrs)
        rm -f $@ && zip -j $@ out/* $(PROJECT).xy
@@ -106,6 +114,7 @@ $(PROJECT)-jlcpcb.zip:      $(PROJECT).lht $(CONFIG)
 jlcpcba: $(PROJECT)-jlcpcba.zip 
 
 $(PROJECT)-jlcpcba.zip:        $(PROJECT).lht $(CONFIG) $(PROJECT)-jlcpcb.csv
+       $(call pcb_drc)
        pcb-rnd -x cam gerber:JLC_PCB --outfile out/$(PROJECT) $(PROJECT).lht
        $(call emit_xyrs)
        rm -f $@ && zip -j $@ out/* $(PROJECT).xy $(PROJECT)-jlcpcb.csv