This commit is contained in:
Eugene Lozovoy
2023-11-19 20:50:00 +03:00
parent 91f55ed96d
commit f06621ee02
20 changed files with 2718 additions and 1532 deletions

View File

@ -1,3 +1,5 @@
# Required tools: kicad-cli, InteractiveHtmlBom, python, zip, qpdf, imagemagick, xsltproc, rst2pdf, sed, awk
#
PRO="your_project.kicad_pro"
PRO_DIR=$(dir ${PRO})
NAME=$(basename $(notdir ${PRO}))
@ -14,6 +16,7 @@ COLORS_DIR_WIN=${USERPROFILE}/AppData/Roaming/kicad/${KICAD_VER}/colors
COLORS_DIR_NIX=${HOME}/.config/kicad/${KICAD_VER}/colors
COLORS_DIR=$(if $(wildcard ${COLORS_DIR_NIX}),${COLORS_DIR_NIX},${COLORS_DIR_WIN})
.SUFFIXES:
.PHONY: all clean gerber pdf ibom
.FORCE:
all: gerber pdf ibom
@ -35,7 +38,7 @@ clean:
--map-format gerberx2 \
"${PCBFILE}"
kicad-cli pcb export gerbers --output "$(@D)/gerber/" \
--layers F.Cu,B.Cu,In1.Cu,In2.Cu,F.Silkscreen,B.Silkscreen,F.Mask,B.Mask,F.Paste,B.Paste,Edge.Cuts \
--layers F.Cu,B.Cu,`awk '/layer "In2.Cu"/{print "In1.Cu,In2.Cu,"; exit}' "${PCBFILE}"`F.Silkscreen,B.Silkscreen,F.Mask,B.Mask,F.Paste,B.Paste,Edge.Cuts \
--no-protel-ext \
--no-x2 \
--disable-aperture-macros \
@ -54,8 +57,8 @@ gerber: ${PRO_DIR}/out/gerber.zip
--include-nets \
--normalize-field-case \
--no-browser \
--dest-dir "$(abspath $(@D))" \
--name-format "$(@F)"
--dest-dir "out" \
--name-format "$(basename $(@F))"
ibom: ${PRO_DIR}/out/bom_interactive.html
@ -180,15 +183,15 @@ define pdf_export_json
"b_adhes": "rgb(0, 0, 132)",
"b_crtyd": "rgb(38, 233, 255)",
"b_fab": "rgb(0, 0, 0)",
"b_mask": "rgba(0, 132, 0, 0.300)",
"b_paste": "rgba(0, 132, 0, 0.300)",
"b_mask": "rgba(0, 132, 0, 0.400)",
"b_paste": "rgba(0, 132, 0, 0.400)",
"b_silks": "rgb(255, 0, 0)",
"background": "rgb(255, 255, 255)",
"cmts_user": "rgb(89, 148, 220)",
"conflicts_shadow": "rgba(255, 0, 5, 0.502)",
"copper": {
"b": "rgba(0, 132, 0, 0.100)",
"f": "rgba(0, 132, 0, 0.100)",
"b": "rgba(0, 132, 0, 0.200)",
"f": "rgba(0, 132, 0, 0.200)",
"in1": "rgb(127, 200, 127)",
"in10": "rgb(237, 124, 51)",
"in11": "rgb(91, 195, 235)",
@ -228,8 +231,8 @@ define pdf_export_json
"f_adhes": "rgb(132, 0, 132)",
"f_crtyd": "rgb(255, 38, 226)",
"f_fab": "rgb(0, 0, 0)",
"f_mask": "rgba(0, 132, 0, 0.300)",
"f_paste": "rgba(0, 132, 0, 0.300)",
"f_mask": "rgba(0, 132, 0, 0.400)",
"f_paste": "rgba(0, 132, 0, 0.400)",
"f_silks": "rgb(255, 0, 0)",
"footprint_text_invisible": "rgb(132, 132, 132)",
"grid": "rgb(194, 194, 194)",