| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 
 | LIBDIR = $$HOME/lib
M4LIBS = svg.m4 DPVconfig.m4
M4LIBS = svg.m4
M4 = m4
# PDFCONVERT = pdf2svg
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 "\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 && cp $*.xsvg $*.svg ; \
    else \
      dvisvgm --pdf F_$*.pdf && mv F_$**.svg $*.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
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
#	(cd dev; make clobber)
	rm -f test.m4
 |