# Makefile for the pdflatex subdirectory # Where the .m4 libraries are installed. Change if necessary: LIBDIR = $$HOME/lib #--------------------------------------------- MKDIM=pwd | sed -e 's%^%=boxdimfile{%' -e 's%/cygdrive/\(.\)/%\1:/%' \ -e 's%$$%/$(DIMFILE)}%' ; # MikTeX on Cygwin requires absolute addresses on included files because # mpost text conversion is executed in a temporary directory. # Comment out the following line to produce absolute addresses. MKDIM=printf '=boxdimfile{$(DIMFILE)}\n' ; #--------------------------------------------- # The .m4 circuit_macro libraries used for the examples: M4MACROS = mpost.m4 M4 = m4 -I $(LIBDIR) #--------------------------------------------- DOC = examples FIGS = Adder.mps Alogix.mps ABlogix.mps Antennas.mps Audio.mps AmpTable.mps \ Bip.mps Btree.mps Byte.mps \ CanLogic.mps CctTable.mps Conn.mps Counting.mps Crossbar.mps Crow.mps \ Csource.mps \ Decoder.mps Demultiplexer.mps Diodes.mps Drive.mps \ Emarrows.mps Flow.mps Fuses.mps \ Globe.mps Grounds.mps Headers.mps Heathkit.mps Jack.mps \ I2L.mps Inclpdf.mps \ Logic.mps Loglog.mps MC.mps MotorControl.mps Multiplexer.mps \ NLG.mps NPDT.mps Nport.mps \ Opamp.mps Optoiso.mps Pconn.mps Rectifiers.mps Relay.mps Rotbox.mps \ Schottky.mps Sierpinski.mps ShiftR.mps Sixpole.mps Sources.mps SQUID.mps \ Switches.mps \ Tgate.mps Three.mps Timer.mps TTLnand.mps \ Windings.mps Variable.mps Xform.mps \ bistable.mps control.mps csc.mps diamond.mps \ ex00.mps ex01.mps ex02.mps ex03.mps ex04.mps \ ex05.mps ex06.mps ex07.mps ex08.mps ex09.mps ex10.mps ex11.mps ex12.mps \ ex15.mps ex16.mps ex17.mps ex18.mps ex19.mps ex21.mps exp.mps \ fet.mps graysurf.mps lcct.mps pwrsupply.mps quick.mps \ recycle.mps rose.mps sfg.mps thyristor.mps ujt.mps worm.mps yinyang.mps # Files using boxdims macros: BOXDIMS = ex09 Crow Inclpdf Loglog TTLnand Opamp Windings # It is advisable to do `make clean' between test examples. #--------------------------------------------- DPIC = dpic # DPIC = $$HOME/dpic/test/dpic TR = | tr '=' '\134' PDFLATEX = pdflatex DIMFILE = tmp.dim .SUFFIXES: .tex .pdf .m4 .mps .tex.pdf: $(PDFLATEX) $* .m4.mps: @touch $(DIMFILE) $(DOC).dim @echo "Writing $*.mp header" @(printf 'verbatimtex\n' ;\ printf '=documentclass[11pt]{article}\n' ;\ printf '=usepackage{times,boxdims,graphicx}\n' ;\ $(MKDIM) \ printf '=begin{document} etex\n' ) $(TR) > $*.mp $(M4) $(M4MACROS) $(DIMFILE) $(DOC).dim $*.m4 | $(DPIC) -s >> $*.mp @printf 'end\n' >> $*.mp mpost --tex=latex $*.mp mv $*.1 $*.mps EXL = exlinks $(DOC).pdf: $(DOC).tex -if test "$(DOC)"="examples" ; then make exlinks dims; fi make $(FIGS) $(PDFLATEX) $(DOC) -if test -n "$(BOXDIMS)" ; then rm dims; \ for box in $(BOXDIMS) ; do rm $$box.mps; done; \ make dims; $(PDFLATEX) $(DOC); fi dims: exlinks -if test -n "$(BOXDIMS)" ; then for box in $(BOXDIMS) ; do \ make $$box.mps; rm $$box.mps; make $$box.mps; done; fi touch dims figs: $(EXL) $(FIGS) exlinks: @echo "" @echo 'Ignore "cannot create ... exists" warnings.' -@if test ! -f ex11.m4 ; then \ ls ../*.m4 | sed -e 's/^/ln -s /' -e '/test.m4/d' | sh;\ ls ../../doc/*.m4 ../*.bb ../*.gz | sed -e 's/^/ln -s /' | sh;\ fi touch $(EXL) clobber: clean rm -f $(DOC).pdf test.m4 tst: rm -f tst.aux tst.log tst.pdf test.[0-9]* test.mp test.mp[sx] $(DIMFILE) make test.mps rm test.mps make test.mps pdflatex tst tst1: rm -f tst.aux tst.log tst.pdf test.[0-9]* test.mp test.mp[sx] $(DIMFILE) make test.mps pdflatex tst clean: rm -f stamp-* $(FIGS) *.dvi *.bb *.gz tst.pdf *.out -if /usr/bin/test -f exlinks ; then \ ls -l *.m4 | grep '\->' | \ sed -e 's/^.* \([^ ][^ ]*\) ->.*$$/rm -f \1/' | sh; fi rm -f *.log *.ps *.aux *.mp *.[0-9] *.[0-9][0-9] *.mpx *.mps *.dim rm -f core log mpxerr* *links figs.* *.dim dims Ftest.* rm -f man[0-9]*.pic man[0-9]*.m4 figs.m4 test.1 test.mp test.pic test.tex -if test -n "$(BOXDIMS)" ; then for box in $(BOXDIMS) ; do \ rm -f F$$box.tex $$box.tex ; done; fi