# Copyright 1997,1998 Alexandre Oliva <oliva@dcc.unicamp.br>

# See the files "COPYING" and "README" for information on usage and
# redistribution of this file.

GUARANA_VERSION = 1.2
KAFFE_VERSION = 0.10.0
KAFFE_SNAPSHOT_SUFFIX = _1998-05-12

KAFFE_TGZDIR = .
KAFFE_DIR = kaffe-$(KAFFE_VERSION)
KAFFE_TGZ = $(KAFFE_TGZDIR)/$(KAFFE_DIR).tar.gz
UPDATE_FILE = kaffe_to$(KAFFE_SNAPSHOT_SUFFIX).patch
PATCH_FILE = kaffe-$(KAFFE_VERSION).patch

GUARANA_DIR = guarana-$(GUARANA_VERSION)
DIST_TAR_FILE = $(GUARANA_DIR).tar.gz

all: decompress-stmp update-stmp patch-stmp

decompress-stmp: $(KAFFE_TGZ)
	for f in $(KAFFE_TGZ); do gzip -dc $$f | tar -xf -; done
	echo decompressed >$@

update-stmp: $(UPDATE_FILE)
	(cd $(KAFFE_DIR) && patch -p1) < $(UPDATE_FILE)
	echo patched >$@

patch-stmp: $(PATCH_FILE)
	(cd $(KAFFE_DIR) && patch -p1) < $(PATCH_FILE)
	mv guarana-kaffe $(KAFFE_DIR)/kaffe/kaffevm/guarana
	ln -s $(KAFFE_DIR)/kaffe/kaffevm/guarana guarana-kaffe
	echo patched > $@

.PHONY: clean
clean:
	if [ -f $(KAFFE_DIR)/Makefile ]; then \
	    cd $(KAFFE_DIR) && make clean; \
	fi
	-rm -f patch-stmp update-stmp decompress-stmp guarana-kaffe
	-mv $(KAFFE_DIR)/kaffe/kaffevm/guarana guarana-kaffe
	rm -rf $(KAFFE_DIR)

dist: $(DIST_TAR_FILE)

$(DIST_TAR_FILE):
	dir=`pwd` && cd /tmp && mkdir guarana-$$$$ && cd guarana-$$$$ && \
	cvs -q export -r guarana_`echo $(GUARANA_VERSION) | sed 's/\./-/g'` -d $(GUARANA_DIR) guarana && \
	cvs -q rdiff -u -r kaffe_`echo $(KAFFE_VERSION) | sed 's/\./-/g'` -r kaffe_`echo $(KAFFE_VERSION) | sed 's/\./-/g'`$(KAFFE_SNAPSHOT_SUFFIX) kaffe > $(GUARANA_DIR)/$(UPDATE_FILE) && \
	cvs -q rdiff -u -r kaffe_`echo $(KAFFE_VERSION) | sed 's/\./-/g'`$(KAFFE_SNAPSHOT_SUFFIX) -r guarana_`echo $(GUARANA_VERSION) | sed 's/\./-/g'` kaffe > $(GUARANA_DIR)/$(PATCH_FILE) && \
	tar -cf - $(GUARANA_DIR) | gzip -9c > $$dir/$@ && \
	cd /tmp && rm -rf guarana-$$$$
