EAGLE Makefiles

Preview of an upcoming project!

After getting a a little frustrated with generating boards for manufacture (particularly Advanced Circuits barebones), I banged out a quick Makefile to speed the compilation.

This of course will work best on Unixy systems, I use it on my Macbook Pro with Macports. The makefile depends on (of course) GNU Make, gerbv, and EAGLE. I use EAGLE 5.11, but this script should work all the way back to EAGLE 4.

To use EAGLE from the command line, I simply made a softlink to /usr/bin/eagle

ln -s /Applications/EAGLE/EAGLE.app/Contents/MacOS/EAGLE /usr/bin/eagle

Right now, the Makefile only works for barebones (top and bottom copper, drills and board outline) but it should be easy to extend to more layers, silkscreen and soldermask if desired.

PROJECT?= project_name
all: $(PROJECT).zip
# Component Side
$(PROJECT).cmp: $(PROJECT).brd
	eagle -X -dGERBER_RS274X -o$(PROJECT).cmp $(PROJECT).brd Top Pads Vias
# Solder Side
$(PROJECT).sol: $(PROJECT).brd
	eagle -X -dGERBER_RS274X -o$(PROJECT).sol $(PROJECT).brd Bottom Pads Vias
# Board Outline
$(PROJECT).bor: $(PROJECT).brd
	eagle -X -dGERBER_RS274X -o$(PROJECT).bor $(PROJECT).brd Dimension
# Drills
$(PROJECT).drd: $(PROJECT).brd
	eagle -X -dEXCELLON -o$(PROJECT).drd $(PROJECT).brd Drills Holes
$(PROJECT).zip: $(PROJECT).bor $(PROJECT).drd $(PROJECT).cmp $(PROJECT).sol
	mkdir -p gerbers
	mv $(PROJECT).{bor,cmp,drd,dri,gpi,sol} gerbers/
	zip gerbers/$(PROJECT).zip gerbers/*.{bor,drd,cmp,sol}
view: $(PROJECT).zip
	gerbv gerbers/$(PROJECT).{bor,drd,cmp,sol} &
	rm -rf *.{bor,cmp,drd,dri,gpi,sol,zip,png,path}
	rm -rf gerbers/

One Comment

  1. […] revisited the tools I previously put together to process EagleCAD files for manufacture. I extended my export tools to generate all […]

Leave a Reply