# ========== you can change:

LIB_PATH	= /home/bogdan/RPMS/java/apache-tomcat/lib

CLASSES		= $(LIB_PATH)/servlet-api.jar

# ========== you can change (only if necessary):

JAVAC		= javac
JAVAC_OPTS	= -Xlint -cp .:$(CLASSES)
JAVA		= java
JAVA_OPTS	= -cp .:$(CLASSES)
CP		= /bin/cp -rf
DEL		= rm -fr
DIST_PACKER	= tar zcf
DIST_EXT	= tar.gz
ZIP_PACKER	= zip -9 -r
HASH_ALGO	= RIPEMD160
MKDIR		= mkdir -p

# ========== don't change ====================================================

PROG_NAME	= EmailValidator
PROG_VERSION	= 0.2

PACKAGE_DIR	= BogDroSoft/ev

JAVA_FILES	= $(PACKAGE_DIR)/EmailValidator.java $(PACKAGE_DIR)/RequestUtilities.java

comma		= ,
empty		=
space		= $(empty) $(empty)

TARGETS		:= $(PACKAGE_DIR)/*.class


all: compile

compile: $(TARGETS) Makefile

%.class: %.java Makefile
	$(JAVAC) $(JAVAC_OPTS) $<
	$(MKDIR) deploy/WEB-INF/classes/$(PACKAGE_DIR) >/dev/null 2>&1 || true
	$(CP) $@ deploy/WEB-INF/classes/$(PACKAGE_DIR)

deploy:	compile Makefile
	$(CP) $(TARGETS) deploy/WEB-INF/classes/$(PACKAGE_DIR)

war:	$(PROG_NAME).war

$(PROG_NAME).war: deploy Makefile $(TARGETS) $(shell find deploy)
	$(DEL) $(PROG_NAME).war
	cd deploy && $(ZIP_PACKER) ../$(PROG_NAME).war .

dist:	../$(PROG_NAME)-$(PROG_VERSION).$(DIST_EXT)

../$(PROG_NAME)-$(PROG_VERSION).$(DIST_EXT): Makefile AUTHORS COPYING ChangeLog Makefile INSTALL \
		README $(JAVA_FILES)
	$(DEL) deploy/WEB-INF/classes/$(PACKAGE_DIR)/*.class && \
	cd .. && \
	$(DEL) $(PROG_NAME)-$(PROG_VERSION).$(DIST_EXT) $(PROG_NAME)-$(PROG_VERSION).$(DIST_EXT).asc \
		$(PROG_NAME)-$(PROG_VERSION) && \
	$(CP) $(PROG_NAME) $(PROG_NAME)-$(PROG_VERSION) && \
	$(DIST_PACKER) $(PROG_NAME)-$(PROG_VERSION).$(DIST_EXT) \
		$(PROG_NAME)-$(PROG_VERSION)/AUTHORS	\
		$(PROG_NAME)-$(PROG_VERSION)/COPYING	\
		$(PROG_NAME)-$(PROG_VERSION)/ChangeLog	\
		$(PROG_NAME)-$(PROG_VERSION)/Makefile	\
		$(PROG_NAME)-$(PROG_VERSION)/INSTALL	\
		$(PROG_NAME)-$(PROG_VERSION)/README	\
		$(PROG_NAME)-$(PROG_VERSION)/deploy	\
		$(PROG_NAME)-$(PROG_VERSION)/{$(subst $(space),$(comma),$(JAVA_FILES))}	&& \
	$(DEL) $(PROG_NAME)-$(PROG_VERSION) && \
	gpg --digest-algo $(HASH_ALGO) -ba $(PROG_NAME)-$(PROG_VERSION).$(DIST_EXT)

