# # LIBDIR = $$HOME/lib M4LIBS = svg.m4 DPVconfig.m4 M4LIBS = svg.m4 M4 = m4 # PDFCONVERT = pdf2svg # The current dvisvgm outputs CRLF line endings PDFCONVERT = dvisvgm # To process a single file, copy it to test.m4 and type "make tst" # to produce tstDPV.html DPIC = dpic #DPIC = $$HOME/dpic/pascal/p2c/ftp/dpic #DPIC = ../dpic/pascal/p2c/ftp/dpic #DPIC = ../dpic/bison/dpic #DPIC = ../dpic/bi*dev/dpic # To test the Windows executable. Change these as needed for the operating # system. NOTE: cscDPV.m4 and Connectors.m4 use awk and sed which # do not work at present with the Windows version. # M4LIBS = svg.m4 windows.m4 # DPIC = ../dpic/bison/distsrc/Windows/dpic .SUFFIXES: .pic .svg .m4 .xsvg .pic.svg: $(DPIC) -v $*.pic > $*.svg # grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz .m4.svg: m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' | $(DPIC) -v > $*.svg # m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic # $(DPIC) -v $*.pic > $*.svg .m4.xsvg: touch F_$*.dim $(M4) pgf.m4 F_$*.dim $*.m4 > $*.pic $(DPIC) -g $*.pic >> $*.tex # echo "\documentclass[crop,tikz,multi=false]{standalone}" > F_$*.tex echo "\documentclass[tikz]{standalone}" > F_$*.tex echo "\usepackage{boxdims,siunitx,amssymb}" >> F_$*.tex echo "\begin{document}" >> F_$*.tex echo "\input $*.tex" >> F_$*.tex echo "\end{document}" >> F_$*.tex pdflatex --quiet F_$* $(M4) pgf.m4 F_$*.dim $*.m4 > $*.pic $(DPIC) -g $*.pic >> $*.tex pdflatex --quiet F_$* if test "$(PDFCONVERT)" = "pdf2svg" ; then \ pdf2svg F_$*.pdf $*.xsvg && cat $*.xsvg | tr -d '\r' > $*.svg ; \ else \ dvisvgm --pdf F_$*.pdf && cat F_$**.svg | tr -d '\r' > $*.svg ; \ cp $*.svg $*.xsvg ; \ fi rm -f F_$** CCTDPV = \ AdderDPV.svg AlogixDPV.svg ABlogixDPV.svg AmpTableDPV.svg AntennasDPV.svg \ ArrestersDPV.svg AudioDPV.svg \ BipDPV.svg BtreeDPV.svg ByteDPV.svg ButtonsDPV.svg \ CanLogicDPV.svg CapacitorsDPV.svg ChipsDPV.svg ConnDPV.svg ConnectorsDPV.svg \ ContactDPV.svg ContactsDPV.svg \ CrowDPV.svg CsourceDPV.svg \ DecoderDPV.svg DemultiplexerDPV.svg DiniDPV.svg DiodesDPV.svg DriveDPV.svg \ EEPDPV.svg EmarrowsDPV.svg EscherDPV.svg EVplugsDPV.svg \ FlowDPV.svg FontsDPV.svg FusesDPV.svg \ GeometryDPV.svg GrayCodeDPV.svg GroundsDPV.svg \ HeadersDPV.svg HeathkitDPV.svg \ InclepsDPV.svg InductorsDPV.svg I2LDPV.svg JackDPV.svg \ LogicDPV.svg LoglogDPV.svg \ MCDPV.svg MixerDPV.svg MoreTableDPV.svg MotorControlDPV.svg \ MultiplexerDPV.svg \ NLGDPV.svg NPDTDPV.svg NportDPV.svg OpampDPV.svg OptoisoDPV.svg \ PconnDPV.svg PlateDPV.svg PushPullDPV.svg QuantumDPV.svg \ RectifiersDPV.svg RelayDPV.svg ResistorsDPV.svg RotboxDPV.svg\ SchottkyDPV.svg ShiftRDPV.svg SierpinskiDPV.svg \ SixpoleDPV.svg SourcesDPV.svg SQUIDDPV.svg SwitchesDPV.svg \ TTLnandDPV.svg TgateDPV.svg ThreeDPV.svg \ TubediagsDPV.svg VariableDPV.svg WindingsDPV.svg XformDPV.svg \ controlDPV.svg cscDPV.svg diamondDPV.svg ex00DPV.svg \ ex01DPV.svg ex02DPV.svg ex03DPV.svg ex04DPV.svg ex05DPV.svg ex06DPV.svg \ ex08DPV.svg ex09DPV.svg ex10DPV.svg ex11DPV.svg ex12DPV.svg \ ex15DPV.svg ex16DPV.svg ex17DPV.svg ex18DPV.svg ex21DPV.svg \ expDPV.svg fetDPV.svg graysurfDPV.svg keyboardDPV.svg lcctDPV.svg \ pwrsupplyDPV.svg quickDPV.svg randomDPV.svg recycleDPV.svg relaycoilDPV.svg \ roseDPV.svg sfgDPV.svg shapesDPV.svg SmithchartDPV.svg paletteDPV.svg \ thyristorDPV.svg ujtDPV.svg UNODPV.svg wormDPV.svg XORDPV.svg Np.svg TEXTFREE = \ DiniDPV.svg DriveDPV.svg EscherDPV.svg SierpinskiDPV.svg SixpoleDPV.svg \ diamondDPV.svg ex02DPV.svg ex15DPV.svg pwrsupplyDPV.svg recycleDPV.svg \ roseDPV.svg CCTDPVs = \ ByteDPV.svg ConnectorsDPV.svg controlDPV.svg CsourceDPV.svg \ EEPDPV.svg ex01DPV.svg FlowDPV.svg HeathkitDPV.svg \ quickDPV.svg NportDPV.svg examplesDPV.html: examplesDPV.htmx cp ../quick.m4 . make $(CCTDPV) quick.xsvg Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ sed -e 's/Version XXX/Version '$$Version'/' examplesDPV.htmx \ | m4 > examplesDPV.html rm -f quick.xsvg examplesDPVs.html: examplesDPVs.htmx cp ../quick.m4 . make $(CCTDPVs) quick.xsvg Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ sed -e 's/Version XXX/Version '$$Version'/' examplesDPVs.htmx \ | m4 > examplesDPVs.html SED = sed -e '/^\%/d' TEST = test tst: @if test -f test.pic; then printf "\n\nUsage: make clean tst\n\n"; exit 1;fi m4 $(M4LIBS) test.m4 | $(SED) > test.pic $(DPIC) -v $(TEST).pic > $(TEST).svg m4 $(M4LIBS) $(TEST).m4 | $(SED) > $(TEST).pic $(DPIC) -v $(TEST).pic > $(TEST).svg # grep '<\!-- width' $(TEST).svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' \ # > $(TEST).siz make tstDPV.html test.pic: if test -f test.pic ; then echo "Usage: make clean tst" ; fi m4 $(M4LIBS) test.m4 | $(SED) > test.pic m4 $(M4LIBS) test.m4 | $(SED) > test.pic tstDPV.html: tstDPV.htmx $(TEST).svg Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ sed -e 's/Version XXX/Version '$$Version'/' \ -e 's/XXXXX/'$(TEST)'/g' \ tstDPV.htmx | m4 > tstDPV.html # cp tstDPV.html $(TEST) $$HOME/public_html/svg echospics: @echo $(CCTDPVs) # necessary because of rotated text: LoglogDPV.svg: m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic $(DPIC) -v $*.pic > $*.svg m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic $(DPIC) -v $*.pic > $*.svg # grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz ConnectorsDPV.svg cscDPV.svg SmithchartDPV.svg test.svg: m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic $(DPIC) -v $*.pic > $*.svg m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic $(DPIC) -v $*.pic > $*.svg # grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz InclepsDPV.svg: InclepsDPV.m4 m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic $(DPIC) -v $*.pic > $*.svg $(DPIC) -v $*.pic > $*.svg Incleps.png: (cd ..; make Incleps.png); cp ../Incleps.png . clean: @printf "\n svg clean:\n" rm -f *.svg *.dim *.ps *log *.siz *.pic Incleps.png examplesDP*.html rm -f tstDPV.html copy_tmp__ quick.m4 quick.xsvg rm -f *.otf xx* *png *.pdf *.css *.xml quick.tex @printf "\n" clobber: clean rm -f test.m4