# $Id: Makefile,v 1.9 2004/06/13 15:15:28 toki Exp $

DIST_DIR = dist
RDOC_DIR = rdoc

RUBY = ruby
RUCY_VERSION = "`$(RUBY) rucy.rb -v | $(RUBY) -ne'print $$1 if %r{Rucy/(\d+.\d+.\d+)}'`"
RUCY_DISTNAME = rucy-$(RUCY_VERSION)

REELASE_TAG = "`cat TAG`"
RELEASE_VERSION = "`cat VERSION`"
RELEASE_DISTNAME = rucy-$(RELEASE_VERSION)

STORE_DB = control.db
STORE_DB_DEFAULT = $(STORE_DB).default

test: .test

.test:
	cd test && $(MAKE)

rdoc: .rdoc

.rdoc:
	rdoc -ao $(RDOC_DIR)

dist: .dist

.dist:
	mkdir $(RUCY_DISTNAME)
	cvs -z3 export -Dtomorrow -d$(RUCY_DISTNAME) rucy
	cd $(RUCY_DISTNAME) && cp -p $(STORE_DB_DEFAULT) $(STORE_DB)
	cd $(RUCY_DISTNAME) && $(MAKE) test
	cd $(RUCY_DISTNAME) && $(MAKE) rdoc
	mkdir -p $(DIST_DIR)
	tar cvf - $(RUCY_DISTNAME) | gzip -v >$(DIST_DIR)/$(RUCY_DISTNAME).tar.gz
	ls -l $(DIST_DIR)/$(RUCY_DISTNAME).tar.gz
	@rm -rf $(RUCY_DISTNAME)

release:
	mkdir $(RELEASE_DISTNAME)
	cvs -z3 export -r$(REELASE_TAG) -d$(RELEASE_DISTNAME) rucy
	cd $(RELEASE_DISTNAME) && cp -p $(STORE_DB_DEFAULT) $(STORE_DB)
	cd $(RELEASE_DISTNAME) && $(MAKE) test
	cd $(RELEASE_DISTNAME) && $(MAKE) rdoc
	mkdir -p $(DIST_DIR)
	tar cvf - $(RELEASE_DISTNAME) | gzip -v >$(DIST_DIR)/$(RELEASE_DISTNAME).tar.gz
	ls -l $(DIST_DIR)/$(RELEASE_DISTNAME).tar.gz
	@rm -rf $(RELEASE_DISTNAME)

clean:
	rm -rf $(RDOC_DIR)
	rm -rf $(RUCY_DISTNAME)

clean_all: clean
	rm -rf $(DIST_DIR)

version:
	@echo $(RUCY_VERSION)

distname:
	@echo $(RUCY_DISTNAME)

relname:
	@echo $(RELEASE_DISTNAME)
