SDIRS:=$(shell find ?.? -type d -name contrib) TARS:=$(shell find $(SDIRS) -name \*.tar.gz) BDIRS:=$(shell for i in `find bin/* -name tiger-universal -type d`; do ls -d $$i/bin/?*; done) BINS:=$(shell find $(BDIRS) -name \*.tgz) DIRS=$(BDIRS) $(SDIRS) METADIRS = $(DIRS:%=meta/%) DESCS = $(TARS:%.tar.gz=meta/%.DESCRIPTION) $(BINS:%.tgz=meta/%.DESCRIPTION) all: cache cache: meta $(METADIRS) $(DESCS) @(for i in `find meta -name \*DESCRIPTION|sed -e 's|^meta/||' -e '/\/bin\// s/DESCRIPTION/tgz/' -e 's/DESCRIPTION/tar.gz/'`; do \ if [ ! -e $$i ]; then echo "$$i doesn't exist, removing meta"; rm -f `echo "$$i"|sed -e 's/tgz$$/DESCRIPTION/' -e 's/tar.gz$$/DESCRIPTION/' -e 's|.*|meta/&|'`; fi; \ done) meta: mkdir meta $(METADIRS): mkdir -p $@ meta/%.DESCRIPTION: %.tar.gz tar fxzO $< \*/DESCRIPTION > $@ meta/%.DESCRIPTION: %.tgz tar fxzO $< \*/DESCRIPTION > $@ .PHONY: all cache