# The installed library directory, change this if necessary:
LIBDIR = ..
DOC = Circuit_macros
DOCSRC = Circuit_macros.tex body.tex defines.tex
PICTEX = \
ACsymbol.tex AlogixMan.tex \
AmpTableMan.tex AntennasMan.tex ArrestersMan.tex AudioMan.tex \
AutologixMan.tex Axes.tex \
Buffer.tex BigResistor.tex BipMan.tex \
CapacitorsMan.tex Composite.tex ConfigA.tex ConfigB.tex \
ConfigC.tex ConnMan.tex Corners.tex ContactMan.tex ContactsMan.tex \
Dac.tex Darlington.tex DCsymbol.tex DemultiplexerMan.tex DiodesMan.tex \
EmarrowsMan.tex FF.tex FlipFlop.tex Flowdiag.tex FusesMan.tex \
GroundsMan.tex HeadersMan.tex HybridPi.tex InductorsMan.tex \
JackMan.tex LogicMan.tex \
Loop.tex MultiplexerMan.tex NPDTMan.tex NLGMan.tex NportMan.tex \
Oblique.tex OpampMan.tex Opto.tex ParSeries.tex PconnMan.tex \
Potentiometers.tex QTrans.tex \
RelayMan.tex relaycoilMan.tex ResistorsMan.tex \
Series.tex ShiftRMan.tex Sinus.tex SLDsMan.tex SourcesMan.tex \
SRffMan.tex SwitchesMan.tex \
Taps.tex TgateMan.tex Thermal.tex Tline.tex \
VariableMan.tex WindingsMan.tex Workflow.tex XformMan.tex \
arrowex.tex \
bitr.tex bi_trans.tex bistableMan.tex \
currents.tex eboxdims.tex fbfilter.tex fetMan.tex \
heaterMan.tex heatsinkMan.tex \
lrarrows.tex MoreTableMan.tex mplex.tex opampex.tex quick.tex \
sampleIC.tex stringdims.tex thyristorMan.tex ujtMan.tex \
woodchips.tex
VERBATIM = BigResistor2.verb eboxdims.verb
BOXDIMS = AntennasMan.tex bi_trans.tex ConfigA.tex ConfigB.tex ConfigC.tex \
Corners.tex \
Dac.tex eboxdims.tex FlipFlop.tex \
OpampMan.tex ParSeries.tex Sinus.tex stringdims.tex \
WindingsMan.tex woodchips.tex
# BOXDIMS = $(PICTEX)
LATEX = latex
LATEX = latex --quiet
BIBTEX=BIBINPUTS=. bibtex
M4 = m4 -I $(LIBDIR)
# If M4PATH has been set:
M4 = m4
# For gpic
MODE = gpic
PIC = pic -t
PRE =
POST = ;printf '\\centerline{\\box\\graph}\n'
PST =
# For dpic; comment these to stick with gpic.
MODE = pstricks
PIC = dpic -p
# PIC = $$HOME/dpic/test/dpic -p
# PIC = $$HOME/dpic/p2c/ftp/dpic -p
PRE =
POST =
#POST = ;printf '}%%'
PST = ;printf '\\usepackage{pstricks}\n' >> heading.tex
# PST = ;printf '\\usepackage{tikz}\n' >> heading.tex
SFX = dvi
M4LIBS = $(MODE).m4
SUFFIXES: .tex .m4
m4.tex:
touch $(DOC).dim
$(M4) $(M4LIBS) $(DOC).dim $*.m4 > $*.pic
($(PRE) $(PIC) $*.pic $(POST)) > $*.tex
$(DOC).pdf:
touch mode.tex
-if grep -q tikz mode.tex ; then true ; else \
rm mode.tex; make MODE=tikz clean mode.tex ; fi
make MODE=pgf PIC="dpic -g" LATEX="pdflatex --quiet" SFX=pdf \
POST="; printf '\\\\vspace*{-0.5\\\\baselineskip}\\n'" \
$(DOC).pdf
# This breaks internal links:
# optpdf $(DOC).pdf
chmod 644 $(DOC).pdf
$(DOC).ps:
printf "\n $(DOC).ps:\n\n"
make MODE=pstricks PIC="dpic -p" LATEX="latex --quiet" \
SFX=dvi POST="" $(DOC).dvi
dvips -t letter $(DOC) -o
$(DOC).$(SFX): mode.tex citations $(PICTEX)
@printf "\n $(DOC).SFX=$(DOC).$(SFX):\n\n"
$(LATEX) $(DOC) ; $(BIBTEX) $(DOC)
-@if grep -s "Warning: Reference " $(DOC).log ; then \
@printf "\n Warning:\n\n" ; \
$(LATEX) $(DOC) ; $(BIBTEX) $(DOC) ; \
elif test ! -f $(DOC).$(SFX) ; then\
@printf "\n No file $(DOC).$(SFX)\n\n" ; \
$(LATEX) $(DOC) ; $(BIBTEX) $(DOC) ; fi
ACsymbol.tex DCsymbol.tex:
touch $(DOC).dim
$(M4) $(M4LIBS) $(DOC).dim $*.m4 > $*.pic
$(PRE) $(PIC) $*.pic | sed -e '/end{tikzpicture}/s/$$/%/' > $*.tex
citations: mode.tex $(DOC).bbl $(PICTEX)
@printf "\n citations:\n\n"
$(LATEX) $(DOC) ; $(BIBTEX) $(DOC)
touch citations
$(DOC).bbl: $(DOC).bib $(DOC).aux
$(BIBTEX) $(DOC)
# $(DOC).aux: mode.tex $(DOCSRC) heading.tex $(VERBATIM) $(PICTEX)
$(DOC).aux: mode.tex $(DOCSRC) $(VERBATIM) $(PICTEX)
@printf "\n $(DOC).aux:\n\n"
$(LATEX) $(DOC) ; $(BIBTEX) $(DOC)
rm -f $(BOXDIMS)
make $(BOXDIMS)
mode.tex:
-if test "$(MODE)" = "pstricks" ; then \
printf "\\usepackage{pstricks}\n" > mode.tex ; else \
printf "\\usepackage{tikz}\n" > mode.tex ; fi
printf "\\def\\Version{" >> mode.tex
sed -e 's/$$/}/' Version.tex >> mode.tex
heading.tex:
printf '\\documentclass{article}\n' > heading.tex
printf '\\usepackage{verbatim,url}\n' >> heading.tex
printf '\\usepackage{multicol}\n' >> heading.tex
printf '\\usepackage{amssymb,boxdims}\n' >> heading.tex $(PST)
printf '\\usepackage{float}\n' >> heading.tex $(PST)
opampex.tex tran.tex bitr.tex: opampex.m4
$(M4) $(M4LIBS) $*.m4 > $*.pic
$(PIC) $*.pic > $*.tex
pics: $(PICTEX)
BigResistor2.verb: BigResistor.m4
( printf '\\begin{verbatim}\n'; \
sed -n '/thinlines/,/PE/p' BigResistor.m4 ;\
printf '\\end{verbatim}\n' ) > BigResistor2.verb
eboxdims.verb: eboxdims.m4
( printf '\\begin{verbatim}\n' ; \
sed -e '/thinlines/,$$d' eboxdims.m4 ; \
printf '.PE\n\\end{verbatim}\n' ) > eboxdims.verb
ex08.m4: ../examples/ex08.m4
cp ../examples/ex08.m4 ex08.m4
clobber: clean
rm -f *.dvi Circuit_macros.pdf
clean:
rm -f *.bbl *.log *.aux *.blg *.toc citations *.verb ex08.m4
rm -f *.pic $(PICTEX) heading.tex *.dim *.uu Circuit_macros.ps
rm -f mode.tex Circuit_macros.out *.upa *.upb *.brf Circuit_macros.dvi