summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Makefile
blob: 0d68dcac3b866bacd6519a95d112eaeea45640fd (plain)
1
2
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
LIBDIR = $$HOME/lib
M4LIBS = svg.m4 SVGconfig.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 tstSVG.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: cscSVG.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' > $*.pic
	$(DPIC) -v $*.pic > $*.svg
	grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz
.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_$**

CCTSVG = \
 AdderSVG.svg AlogixSVG.svg ABlogixSVG.svg AmpTableSVG.svg AntennasSVG.svg \
 AudioSVG.svg \
 BipSVG.svg BtreeSVG.svg ByteSVG.svg ButtonsSVG.svg \
 CanLogicSVG.svg CapacitorsSVG.svg ChipsSVG.svg ConnSVG.svg ConnectorsSVG.svg \
 ContactSVG.svg ContactsSVG.svg \
 CrowSVG.svg CsourceSVG.svg \
 DecoderSVG.svg DemultiplexerSVG.svg DiniSVG.svg DiodesSVG.svg DriveSVG.svg \
 EEPSVG.svg EmarrowsSVG.svg EscherSVG.svg EVplugsSVG.svg \
 FlowSVG.svg FontsSVG.svg FusesSVG.svg \
 GeometrySVG.svg GrayCodeSVG.svg GroundsSVG.svg \
 HeadersSVG.svg HeathkitSVG.svg \
 InclepsSVG.svg InductorsSVG.svg I2LSVG.svg JackSVG.svg \
 LogicSVG.svg LoglogSVG.svg \
 MCSVG.svg MixerSVG.svg MoreTableSVG.svg MotorControlSVG.svg \
 MultiplexerSVG.svg \
 NLGSVG.svg NPDTSVG.svg NportSVG.svg OpampSVG.svg OptoisoSVG.svg \
 PconnSVG.svg PlateSVG.svg PushPullSVG.svg QuantumSVG.svg \
 RectifiersSVG.svg RelaySVG.svg ResistorsSVG.svg RotboxSVG.svg\
 SchottkySVG.svg ShiftRSVG.svg SierpinskiSVG.svg \
 SixpoleSVG.svg SourcesSVG.svg SQUIDSVG.svg SwitchesSVG.svg \
 TTLnandSVG.svg TgateSVG.svg ThreeSVG.svg \
 TubediagsSVG.svg VariableSVG.svg WindingsSVG.svg XformSVG.svg \
 controlSVG.svg cscSVG.svg diamondSVG.svg ex00SVG.svg \
 ex01SVG.svg ex02SVG.svg ex03SVG.svg ex04SVG.svg ex05SVG.svg ex06SVG.svg \
 ex08SVG.svg ex09SVG.svg ex10SVG.svg ex11SVG.svg ex12SVG.svg \
 ex15SVG.svg ex16SVG.svg ex17SVG.svg ex18SVG.svg ex21SVG.svg \
 expSVG.svg fetSVG.svg graysurfSVG.svg keyboardSVG.svg lcctSVG.svg \
 pwrsupplySVG.svg quickSVG.svg randomSVG.svg recycleSVG.svg relaycoilSVG.svg \
 roseSVG.svg sfgSVG.svg shapesSVG.svg SmithchartSVG.svg paletteSVG.svg \
 thyristorSVG.svg ujtSVG.svg UNOSVG.svg wormSVG.svg XORSVG.svg Np.svg

examplesSVG.html: examplesSVG.htmx
	cp ../quick.m4 .
	make $(CCTSVG) quick.xsvg
	Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \
      sed -e 's/Version XXX/Version '$$Version'/' examplesSVG.htmx \
      | m4 > examplesSVG.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 tstSVG.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

tstSVG.html: tstSVG.htmx $(TEST).svg
	Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \
      sed -e 's/Version XXX/Version '$$Version'/' \
          -e 's/XXXXX/'$(TEST)'/g' \
      tstSVG.htmx | m4 > tstSVG.html
#	cp tstSVG.html $(TEST) $$HOME/public_html/svg

xst: Incleps.png

# necessary because of rotated text:
LoglogSVG.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

ConnectorsSVG.svg cscSVG.svg SmithchartSVG.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

InclepsSVG.svg: InclepsSVG.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 examplesSVG.html Incleps.png
	rm -f tstSVG.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