# ---------------------------------------------------------------------------- #
## \file Makefile
## \author Sebastien Beaugrand
## \sa http://beaugrand.chez.com/
## \copyright CeCILL 2.1 Free Software license
# ---------------------------------------------------------------------------- #
PROJECT = chebyshev
PROROOT = ..
DST_EXT = .data# ngspice revision 30
.PHONY: all
all: $(PROJECT).pdf
$(PROJECT).pdf: chebyshev.tex build\
chebyshev.m\
chebyshev.py\
build/chebyshevARRL1981.dat\
build/chebyshevARRL1981.a80\
build/chebyshevARRL1990.dat\
build/chebyshevARRL1990.a80\
build/chebyshev6t80m290o.dat\
build/chebyshev6t80m290o.a80\
build/chebyshev6t80m50o.dat\
build/chebyshev6t80m50o.a80\
build/chebyshev5t80m50o.dat\
build/chebyshev5t80m50o.a80\
build/chebyshev5t80m560p.dat\
build/chebyshev5t80m560p.a80\
build/chebyshev5t80m680p.dat\
build/chebyshev5t80m680p.a80\
build/chebyshev5t80m820p.dat\
build/chebyshev5t80m820p.a80\
build/chebyshev5t80m1000p.dat\
build/chebyshev5t80m1000p.a80\
build/chebyshev5t80m1200p.dat\
build/chebyshev5t80m1200p.a80\
build/chebyshev5p80m2700p.dat\
build/chebyshev5p80m2700p.a80\
build/chebyshev5p80m2200p.dat\
build/chebyshev5p80m2200p.a80\
build/chebyshev5p80m1800p.dat\
build/chebyshev5p80m1800p.a80\
build/chebyshev5p80m1500p.dat\
build/chebyshev5p80m1500p.a80\
build/chebyshev5p80m1200p.dat\
build/chebyshev5p80m1200p.a80\
build/chebyshev5p40m470p.dat\
build/chebyshev5p40m470p.a40\
build/chebyshev3t40mPixie.dat\
build/chebyshev3t40mPixie.a40\
build/chebyshev3p80mPixie.dat\
build/chebyshev3p80mPixie.a80\
build/chebyshev5p80mBingo.dat\
build/chebyshev5p80mBingo.a80\
build/chebyshev5p80mLibra.dat\
build/chebyshev5p80mLibra.a80\
build/cauer935p.dat\
build/cauer935p.a80\
build/cauer1300p.dat\
build/cauer1300p.a80\
build/cauer1200p.dat\
build/cauer1200p.a80\
pdflatex --halt-on-error $<
@$(RM) $(PROJECT).aux $(PROJECT).log
build:
@mkdir $@
%.dat: %.data
@cat $< |\
awk 'BEGIN { print "Time V/sortiemag" } { print $$1/1e6" "$$2 }' >$@
%.data: %.net
@ngspice -b -r dummy $<
%.a80: %.data
octave --eval "\
[x, y] = textread('$<');\
f = @(xi) interp1(x, y, xi);\
printf('Fondamentale: %.1f dbV\\\\\\', f(3579000));\
printf('Harmonique: %.1f dbV\\\\\\', f(3579000 * 2));\
" >$@
%.a40: %.data
octave --eval "\
[x, y] = textread('$<');\
f = @(xi) interp1(x, y, xi);\
printf('Fondamentale: %.1f dbV\\\\\\', f(7000000));\
printf('Harmonique: %.1f dbV\\\\\\', f(7000000 * 2));\
" >$@
build/chebyshevARRL1981.net: chebyshev5t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/820p/'\
-e 's/<C18>/820p/'\
-e "s/<L3>/`echo 29 | awk '{ print 49 * ($$1 / 100) ^ 2 }'`u/"\
-e "s/<L4>/`echo 35 | awk '{ print 49 * ($$1 / 100) ^ 2 }'`u/"\
-e "s/<L5>/`echo 29 | awk '{ print 49 * ($$1 / 100) ^ 2 }'`u/"\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshevARRL1981$(DST_EXT)/'\
| cat >$@
build/chebyshevARRL1990.net: chebyshev5t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/820p/'\
-e 's/<C18>/820p/'\
-e "s/<L3>/`echo 25 | awk '{ print 49 * ($$1 / 100) ^ 2 }'`u/"\
-e "s/<L4>/`echo 32 | awk '{ print 49 * ($$1 / 100) ^ 2 }'`u/"\
-e "s/<L5>/`echo 25 | awk '{ print 49 * ($$1 / 100) ^ 2 }'`u/"\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshevARRL1990$(DST_EXT)/'\
| cat >$@
build/chebyshev5t80m50o.net: chebyshev5t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/638p/'\
-e 's/<C18>/638p/'\
-e 's/<L3>/7.29u/'\
-e 's/<L4>/9.50u/'\
-e 's/<L5>/7.29u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5t80m50o$(DST_EXT)/'\
| cat >$@
build/chebyshev6t80m50o.net: chebyshev6t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/643.73428p/'\
-e 's/<C18>/664.21197p/'\
-e 's/<C20>/505.35345p/'\
-e 's/<L3>/7.339u/'\
-e 's/<L4>/9.646u/'\
-e 's/<L5>/9.348u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev6t80m50o$(DST_EXT)/'\
| cat >$@
build/chebyshev6t80m290o.net: chebyshev6t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/643.73428p/'\
-e 's/<C18>/664.21197p/'\
-e 's/<C20>/505.35345p/'\
-e 's/<L3>/7.339u/'\
-e 's/<L4>/9.646u/'\
-e 's/<L5>/9.348u/'\
-e 's/<R2>/290.474/'\
-e "s/<VJ1>/`echo 50 290.474 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev6t80m290o$(DST_EXT)/'\
| cat >$@
build/chebyshev5t80m560p.net: chebyshev5t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/560p/'\
-e 's/<C18>/560p/'\
-e 's/<L3>/8.49u/'\
-e 's/<L4>/10.92u/'\
-e 's/<L5>/8.49u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5t80m560p$(DST_EXT)/'\
| cat >$@
build/chebyshev5t80m680p.net: chebyshev5t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/680p/'\
-e 's/<C18>/680p/'\
-e 's/<L3>/6.75u/'\
-e 's/<L4>/8.87u/'\
-e 's/<L5>/6.75u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5t80m680p$(DST_EXT)/'\
| cat >$@
build/chebyshev5t80m820p.net: chebyshev5t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/820p/'\
-e 's/<C18>/820p/'\
-e 's/<L3>/5.27u/'\
-e 's/<L4>/7.17u/'\
-e 's/<L5>/5.27u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5t80m820p$(DST_EXT)/'\
| cat >$@
build/chebyshev5t80m1000p.net: chebyshev5t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/1000p/'\
-e 's/<C18>/1000p/'\
-e 's/<L3>/3.8u/'\
-e 's/<L4>/5.56u/'\
-e 's/<L5>/3.8u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5t80m1000p$(DST_EXT)/'\
| cat >$@
build/chebyshev5t80m1200p.net: chebyshev5t80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/1153p/'\
-e 's/<C18>/1153p/'\
-e 's/<L3>/2.09u/'\
-e 's/<L4>/3.83u/'\
-e 's/<L5>/2.09u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5t80m1200p$(DST_EXT)/'\
| cat >$@
build/chebyshev5p80m2700p.net: chebyshev5p80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/2700p/'\
-e 's/<C18>/3549p/'\
-e 's/<C20>/2700p/'\
-e 's/<L4>/1.7u/'\
-e 's/<L5>/1.7u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5p80m2700p$(DST_EXT)/'\
| cat >$@
build/chebyshev5p80m2200p.net: chebyshev5p80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/2200p/'\
-e 's/<C18>/2974p/'\
-e 's/<C20>/2200p/'\
-e 's/<L4>/2u/'\
-e 's/<L5>/2u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5p80m2200p$(DST_EXT)/'\
| cat >$@
build/chebyshev5p80m1800p.net: chebyshev5p80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/1800p/'\
-e 's/<C18>/2527p/'\
-e 's/<C20>/1800p/'\
-e 's/<L4>/2.26u/'\
-e 's/<L5>/2.26u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5p80m1800p$(DST_EXT)/'\
| cat >$@
build/chebyshev5p80m1500p.net: chebyshev5p80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/1500p/'\
-e 's/<C18>/2203p/'\
-e 's/<C20>/1500p/'\
-e 's/<L4>/2.52u/'\
-e 's/<L5>/2.52u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5p80m1500p$(DST_EXT)/'\
| cat >$@
build/chebyshev5p80m1200p.net: chebyshev5p80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/1200p/'\
-e 's/<C18>/1893p/'\
-e 's/<C20>/1200p/'\
-e 's/<L4>/2.75u/'\
-e 's/<L5>/2.75u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5p80m1200p$(DST_EXT)/'\
| cat >$@
build/chebyshev5p40m470p.net: chebyshev5p40m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/470p/'\
-e 's/<C18>/1000p/'\
-e 's/<C20>/470p/'\
-e 's/<L4>/1.024u/'\
-e 's/<L5>/1.024u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5p40m470p$(DST_EXT)/'\
| cat >$@
build/chebyshev5p80mBingo.net: chebyshev5p80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/820p/'\
-e 's/<C18>/1500p/'\
-e 's/<C20>/820p/'\
-e 's/<L4>/2u/'\
-e 's/<L5>/2u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5p80mBingo$(DST_EXT)/'\
| cat >$@
build/chebyshev5p80mLibra.net: chebyshev5p80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/820p/'\
-e 's/<C18>/1500p/'\
-e 's/<C20>/820p/'\
-e 's/<L4>/2.2u/'\
-e 's/<L5>/2.2u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev5p80mLibra$(DST_EXT)/'\
| cat >$@
build/chebyshev3t40mPixie.net: chebyshev3t40m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/820p/'\
-e 's/<C18>/820p/'\
-e 's/<L4>/1.2u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev3t40mPixie$(DST_EXT)/'\
| cat >$@
build/chebyshev3p80mPixie.net: chebyshev3p80m.net
@cat $< | sed\
-e 's/<R1>/50/'\
-e 's/<C17>/820p/'\
-e 's/<C18>/820p/'\
-e 's/<L4>/2.2u/'\
-e 's/<R2>/50/'\
-e "s/<VJ1>/`echo 50 50 | awk '{ print ($$1 + $$2) / $$2 }'`/"\
-e 's/<dst>/chebyshev3p80mPixie$(DST_EXT)/'\
| cat >$@
build/cauer935p.net: cauer.net
@cat $< | sed\
-e 's/<L4>/2.29u/'\
-e 's/<L5>/1.87u/'\
-e 's/<C2>/99p/'\
-e 's/<C4>/279p/'\
-e 's/<C17>/935p/'\
-e 's/<C18>/1396p/'\
-e 's/<C20>/793p/'\
-e 's/<dst>/cauer935p$(DST_EXT)/'\
| cat >$@
build/cauer1300p.net: cauer.net
@cat $< | sed\
-e 's/<L4>/1.5u/'\
-e 's/<L5>/1.3u/'\
-e 's/<C2>/180p/'\
-e 's/<C4>/390p/'\
-e 's/<C17>/1300p/'\
-e 's/<C18>/2400p/'\
-e 's/<C20>/1100p/'\
-e 's/<dst>/cauer1300p$(DST_EXT)/'\
| cat >$@
build/cauer1200p.net: cauer.net
@cat $< | sed\
-e 's/<L4>/1.5u/'\
-e 's/<L5>/1.2u/'\
-e 's/<C2>/180p/'\
-e 's/<C4>/390p/'\
-e 's/<C17>/1200p/'\
-e 's/<C18>/2200p/'\
-e 's/<C20>/1000p/'\
-e 's/<dst>/cauer1200p$(DST_EXT)/'\
| cat >$@
include $(PROROOT)/makefiles/tar.mk