1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-07-05 05:22:22 +03:00
eda-tools/boom/dist/dk/Makefile
Werner Almesberger 0b24c43e6a Added Yageo CC series of ceramic SMT capacitors.
- boom/dist/dk/Makefile, boom/dist/dk/yageo-cc.catq: added catalog query
  for Yageo CC series of ceramic chip capacitors
- boom/manu/yageo/yageo.gen: generate characteristics of Yageo CC series
2010-10-16 23:46:11 -03:00

76 lines
2.0 KiB
Makefile

MASTER = db/all.equ db/all.dsc db/all.inv
PARTS = panasonic-erj stackpole-rmcf yageo-cc yageo-rc
.SECONDARY: # prevent *.cache from being automatically deleted
.PHONY: all clean rebuild update spotless
all: $(MASTER) \
$(PARTS:%=db/%.equ) \
$(PARTS:%=db/%.inv) \
$(PARTS:%=db/%.dsc)
db/%.cache: db/%.equ
awk '/^#END/ { exit } /^DIGI-KEY / { print $$2 }' $< | \
perl ./dk-db.pl query \
`[ -r $@ ] && echo '' -i $@` >$(@)_ || \
{ rm -f $@ $(@)_; exit 1; }
mv $(@)_ $@
db:
mkdir -p db
#
# We need "db" to create the directory. However, this also means that any
# change in the db/ directory triggers a rebuild of all.equ. This is cheap, so
# this is nothing but a small cosmetic issue.
#
db/all.equ: db Makefile
for n in $(PARTS); do echo "include $$n.equ"; done >$@
db/all.inv: Makefile
for n in $(PARTS); do echo "include $$n.inv"; done >$@
db/all.dsc: Makefile
for n in $(PARTS); do echo "include $$n.dsc"; done >$@
db/%.equ: %.catq
perl ./dk-catq.pl $< >$@ || { rm -rf $@; exit 1; }
db/%.inv: db/%.cache
perl ./dk-db.pl inv $< >$@ || { rm -f $@; exit 1; }
db/%.dsc: db/%.cache
perl ./dk-db.pl dsc $< >$@ || { rm -f $@; exit 1; }
# --- Cleanup -----------------------------------------------------------------
#
# We have various levels of cleanup:
#
# - clean: remove left-over temporary files
# - rebuild: remove everything that can be rebuilt from cached data
# - update: remove the short-lived inventory and pricing cache too
# - again: remove also the long-lived equivalences cache
#
# "clean" does not disturb use of the database. The run-time cost of recovering
# from "rebuild" is small. What takes a lot of time is "update". The additional
# cost of "spotless" is small again.
#
clean:
rm -f $(PARTS:%=db/%.cache_)
rebuild: clean
rm -f $(MASTER)
rm -f $(PARTS:%=db/%.inv)
rm -f $(PARTS:%=db/%.dsc)
update: rebuild
rm -f $(PARTS:%=db/%.cache)
spotless: update
rm -f $(PARTS:%=db/%.equ)