# UMLSpeed makefile.
# Targets:
# 	compile:   native compile code to umlspeed binary with GCJ
#	install:   install to /usr/local
#	uninstall: uninstall
#	clean:     remove local native compiled binary
#	dist:	   uses VERSION file to make a source .tar.gz package
#	vim:       installs vim syntax highlighting for umlspeed for
#	           the user running the makefile

GCJ = gcj
MAN_DIR = /usr/local/share/man/man1
BIN_DIR = /usr/local/bin
BINARY_NAME = umlspeed

all:	compile

compile:
	@echo "[compile]"
	@find src -name '*.java' > classlist.txt
	@echo "  gcj $(BINARY_NAME)"
	@gcj --main=net.sf.umlspeed.cli.CLI --CLASSPATH=src -o $(BINARY_NAME) `cat classlist.txt`
	@rm classlist.txt
	@echo "  strip $(BINARY_NAME)"
	@strip $(BINARY_NAME)

install:
	@echo "[install]"
	@echo "  cp $(BINARY_NAME) $(BIN_DIR)"
	@echo "  cp man/umlspeed.1.gz $(MAN_DIR)"
	@cp $(BINARY_NAME) $(BIN_DIR)
	@mkdir -p $(MAN_DIR)
	@cp man/umlspeed.1.gz $(MAN_DIR)

uninstall:
	@echo "[uninstall]"
	@echo "  rm $(BIN_DIR)/$(BINARY_NAME)"
	@echo "  rm $(MAN_DIR)/umlspeed.1.gz"
	@rm $(BIN_DIR)/$(BINARY_NAME)
	@rm $(MAN_DIR)/umlspeed.1.gz

clean:
	@echo "[clean]"
	@echo "  rm $(BINARY_NAME)"
	@-rm $(BINARY_NAME)

dist:
	@echo "[dist]"
	@echo "   umlspeed.tar.gz"
	@mkdir "umlspeed-`cat VERSION`"
	@cp -rf AUTHORS COPYING Makefile README scripts TODO VERSION classes doc man samples src syntax umlspeed umlspeed-`cat VERSION`
	@tar --exclude *.svg --exclude *.eps --exclude .svn -czf umlspeed-`cat VERSION`.tar.gz "umlspeed-`cat VERSION`"
	@rm -rf "umlspeed-`cat VERSION`"

vim:
	@echo "[vim]"
	@echo "   cp vimfiles ~/.vim"
	@mkdir -p ~/.vim/syntax
	@cp syntax/filetype.vim ~/.vim
	@cp syntax/umlspeed.vim ~/.vim/syntax
