# ---------------------------------------------------------------------------- #
## \file gcode.mk
## \author Sebastien Beaugrand
## \sa http://beaugrand.chez.com/
## \copyright CeCILL 2.1 Free Software license
# ---------------------------------------------------------------------------- #
PDFLATEX = pdflatex --halt-on-error ../$(PROJECT).tex
PDF2GCODE = $(shell which pdftogcode.sh)
GCODE2GRBL = $(shell which gcode2grbl.awk)
GRBLSIMPL = $(shell which grblsimplify.sh)
FEEDR ?= 10.0# inches/min
TARDEPEND +=\
gcodefonts/*.py\
gcodefonts/Makefile\
bin/pdftogcode.sh\
bin/gcode2grbl.awk\
bin/grblsimplify.sh\
.SUFFIXES:
.PHONY: all
all: $(PROJECT).pdf
$(PROJECT).pdf: $(PROJECT).tex
@mkdir -p build && cd build && TEXINPUTS="../font-n:" $(PDFLATEX)
@mv build/$@ .
.PHONY: gcode
gcode: $(PROJECT).ngc
$(PROJECT).ngc: $(PROJECT).pdf $(PDF2GCODE)
@$(PDF2GCODE) $< $(FONTS)
.PHONY: grbl
grbl: grbl-$(PROJECT).ngc
grbl-$(PROJECT).ngc: build/grbl-$(PROJECT).ngc $(GRBLSIMPL)
@$(GRBLSIMPL) $< >$@
build/grbl-$(PROJECT).ngc: $(PROJECT).ngc $(GCODE2GRBL)
@sed 's/^#1001 = 10.0/#1001 = $(FEEDR)/' $< | $(GCODE2GRBL) >$@
.PHONY: stick
stick: stick.ngc
stick.ngc: build/$(PROJECT).pdf
@pstoedit -q -pta -f gcode $< $@
@sed -i 's/G01 Z/G00 Z/' $@
build/$(PROJECT).pdf: $(PROJECT).tex
@mkdir -p build && cd build && TEXINPUTS="../font-g:" $(PDFLATEX)
.PHONY: ps-stick
ps-stick: ps-stick.ngc
ps-stick.ngc: build/$(PROJECT).ps
@pstoedit -q -pta -f gcode $< $@
@sed -i 's/G01 Z/G00 Z/' $@
build/$(PROJECT).ps: build/$(PROJECT).dvi
dvips -o $@ $<
build/$(PROJECT).dvi: $(PROJECT).tex
@mkdir -p build && cd build &&\
TEXINPUTS="../font-g:" latex --halt-on-error ../$(PROJECT).tex
.PHONY: clean
clean:
@$(RM) build/*.*
.PHONY: mrproper
mrproper: clean
@test ! -d build || rmdir build
@$(RM) $(PROJECT).pdf *.ngc