# BlinkenLib
# Copyright (C) 2004-2018: Stefan Schuermans <stefan@schuermans.info>
# Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
# a blinkenarea.org project

VERSION_MAJOR=0
VERSION_MINOR=1
VERSION_REVISION=6

JAVAC=javac
JAR=jar
KEYTOOL=keytool
JARSIGNER=jarsigner
KEYPASS=BlinkenLib
JAVA=java
P=org/blinkenarea/BlinkenLib

CLASS_FILES=$(P)/BlinkenConstants.class $(P)/BlinkenFrame.class \
            $(P)/BlinkenMovie.class $(P)/Version.class

.phony: all clean jar

all: jar

clean:
	rm -f $(P).java $(CLASS_FILES) BlinkenLib.jar

jar: BlinkenLib.jar

$(P)/Version.java: Makefile
	echo "package org.blinkenarea.BlinkenLib;" >$@
	echo "public class Version {" >>$@
	echo "  public static int Major = $(VERSION_MAJOR);" >>$@
	echo "  public static int Minor = $(VERSION_MINOR);" >>$@
	echo "  public static int Revision = $(VERSION_REVISION);" >>$@
	echo "}" >>$@

%.class: %.java
	$(JAVAC) $<

BlinkenLib.keystore:
	$(KEYTOOL) -genkey -alias BlinkenLib -keystore BlinkenLib.keystore -keypass $(KEYPASS) -storepass $(KEYPASS) -dname cn=BlinkenLib -validity 3560

BlinkenLib.jar: BlinkenLib.keystore $(CLASS_FILES)
	$(JAR) cf BlinkenLib.jar $(CLASS_FILES)
	$(JARSIGNER) -keystore BlinkenLib.keystore -storepass $(KEYPASS) BlinkenLib.jar BlinkenLib