# BlinkenLightsInteractiveMovieProgram
# Copyright (C) 2004-2018: Stefan Schuermans <stefan@blinkenarea.org>
# Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
# a blinkenarea.org project
BLINKENLIB:=../BlinkenLibJava/BlinkenLib.jar
JETHERPIX:=../JEtherPix/JEtherPix.jar
VERSION_MAJOR:=1
VERSION_MINOR:=5
VERSION_REVISION:=0
JAVAC:=javac
JAR:=jar
KEYTOOL:=keytool
JARSIGNER:=jarsigner
KEYPASS:=BlinkenLightsInteractiveMovieProgram
JAVA:=java
P:=org/blinkenarea/Blimp
IMG:=$(P)/images
GENJAVA:=$(P)/Version.java
CLASSPATH:=.:$(BLINKENLIB):$(JETHERPIX)
CLASS_FILES:=$(P)/BlinkenFileFilter.class \
$(P)/BlinkenFrameDisplay.class \
$(P)/BlinkenFrameDisplayListener.class \
$(P)/BlinkenFrameDisplayInterceptor.class \
$(P)/BlinkenFrameEditor.class \
$(P)/BlinkenFrameEditorListener.class \
$(P)/Blimp.class \
$(P)/FrameTemplateChaosknoten.class \
$(P)/FrameTemplateIf.class \
$(P)/FrameTemplatePixelLists.class \
$(P)/Version.class
NESTED_CLASS_FILES:=$(P)/FrameTemplatePixelLists$$ContentPixel.class \
$(P)/FrameTemplatePixelLists$$CopyPixel.class \
$(P)/FrameTemplatePixelLists$$FixedPixel.class
IMAGE_FILES:=$(IMG)/ColorPicker.png $(IMG)/Dot.png $(IMG)/Line.png \
$(IMG)/Rectangle.png $(IMG)/FilledRectangle.png \
$(IMG)/Circle.png $(IMG)/FilledCircle.png \
$(IMG)/Copy.png $(IMG)/Paste.png \
$(IMG)/Invert.png $(IMG)/MirrorHor.png $(IMG)/RollLeft.png \
$(IMG)/Rotate90.png $(IMG)/MirrorVer.png $(IMG)/RollRight.png \
$(IMG)/Rotate180.png $(IMG)/MirrorDiag.png $(IMG)/RollUp.png \
$(IMG)/Rotate270.png $(IMG)/MirrorDiag2.png $(IMG)/RollDown.png \
$(IMG)/Undo.png $(IMG)/Redo.png \
$(IMG)/InsertFrame.png $(IMG)/DuplicateFrame.png $(IMG)/DeleteFrame.png
.phony: all clean jar run
all: jar
clean:
rm -f $(P)/Version.java $(CLASS_FILES) \
$(subst $$,\$$,$(NESTED_CLASS_FILES)) \
BlinkenLib.jar Blimp.jar
jar: Blimp.jar
run: Blimp.jar
$(JAVA) -jar $<
$(P)/Version.java: Makefile
echo "package org.blinkenarea.Blimp;" >$@
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 $(GENJAVA)
$(JAVAC) -classpath $(CLASSPATH) $<
Blimp.keystore:
$(KEYTOOL) -genkey -alias Blimp -dname CN=Blimp,O=blinkenarea,C=org -keypass $(KEYPASS) -keystore Blimp.keystore -storepass $(KEYPASS) -validity 3652
Blimp.jar: Blimp.mf Blimp.keystore \
$(CLASS_FILES) $(NESTED_CLASS_FILES) $(IMAGE_FILES)
rm -rf tmp
mkdir tmp
for FILE in $(CLASS_FILES) $(subst $$,\$$,$(NESTED_CLASS_FILES)) \
$(IMAGE_FILES); \
do \
mkdir -p "tmp/$$(dirname "$$FILE")" || exit; \
cp "$$FILE" "tmp/$$FILE" || exit; \
done
for JAR in $(filter %.jar,$(subst :, ,$(CLASSPATH))); \
do ( \
cd tmp || exit; \
$(JAR) xf ../$$JAR || exit; \
rm -rf META-INF; \
) done
cd tmp; $(JAR) cmf ../Blimp.mf ../Blimp.jar .
rm -rf tmp
$(JARSIGNER) -keystore Blimp.keystore -storepass $(KEYPASS) Blimp.jar Blimp