altosui: Add icons to application and Windows menus.
[fw/altos] / ao-tools / altosui / Makefile
index 6514c608f500c79eaf056922e7a789402d9b9a59..90621f367c496c76ffba4c517ef54934caab63a1 100644 (file)
@@ -7,6 +7,7 @@ CLASSFILES=\
        AltosConfig.class \
        AltosConfigUI.class \
        AltosConvert.class \
+       AltosCRCException.class \
        AltosCSV.class \
        AltosCSVUI.class \
        AltosDebug.class \
@@ -22,10 +23,12 @@ CLASSFILES=\
        AltosGPS.class \
        AltosGreatCircle.class \
        AltosHexfile.class \
+       AltosLine.class \
        AltosLog.class \
        AltosLogfileChooser.class \
        AltosParse.class \
        AltosPreferences.class \
+       AltosReader.class \
        AltosRecord.class \
        AltosSerialMonitor.class \
        AltosSerial.class \
@@ -39,6 +42,9 @@ CLASSFILES=\
        AltosRomconfigUI.class \
        AltosVoice.class
 
+JAVA_ICON=../../icon/altus-metrum-16x16.jpg
+WINDOWS_ICON=../../icon/altus-metrum.ico
+
 # where altosui.jar gets installed
 ALTOSLIB=/usr/share/java
 
@@ -72,23 +78,24 @@ LINUX_APP=altosui
 
 DARWIN_ZIP=Altos-Mac.zip
 
-WINDOWS_ZIP=Altos-Windows.zip
+WINDOWS_EXE=Altos-Windows.exe
 
 LINUX_TGZ=Altos-Linux.tgz
 
-all: $(LINUX_APP) $(DARWIN_ZIP) $(WINDOWS_ZIP) $(LINUX_TGZ)
+all: altosui.jar $(LINUX_APP)
+fat: altosui.jar $(LINUX_APP) $(DARWIN_ZIP) $(WINDOWS_EXE) $(LINUX_TGZ)
 
 $(CLASSFILES):
 
 .java.class:
        javac -encoding UTF8 -classpath "$(CLASSPATH)" $(JAVAFLAGS) $*.java
 
-altosui.jar: classes/altosui classes/libaltosJNI $(CLASSFILES) Manifest.txt
-       cd ./classes && jar cfm ../$@ altosui/Manifest.txt altosui/*.class libaltosJNI/*.class
+altosui.jar: classes/images classes/altosui classes/libaltosJNI $(CLASSFILES) Manifest.txt
+       cd ./classes && jar cfm ../$@ altosui/Manifest.txt images/* altosui/*.class libaltosJNI/*.class
 
 Manifest.txt: Makefile $(CLASSFILES)
        echo 'Main-Class: altosui.AltosUI' > $@
-       echo "Class-Path: $(FREETTSLIB)/freetts.jar' >> $@
+       echo "Class-Path: $(FREETTSLIB)/freetts.jar" >> $@
 
 classes/altosui:
        mkdir -p classes
@@ -98,6 +105,10 @@ classes/libaltosJNI:
        mkdir -p classes
        ln -sf ../../libaltos/libaltosJNI classes/libaltosJNI
 
+classes/images:
+       mkdir -p classes/images
+       ln -sf ../../$(JAVA_ICON) classes/images
+
 altosui:
        echo "#!/bin/sh" > $@
        echo "exec java -Djava.library.path=/usr/lib/altos -jar /usr/share/java/altosui.jar" >> $@
@@ -110,11 +121,13 @@ fat/altosui:
        echo 'exec java -Djava.library.path="$$DIR" -jar "$$DIR"/altosui.jar' >> $@
        chmod +x $@
 
-fat/altosui.jar: $(CLASSFILES) fat/classes/Manifest.txt
+fat/altosui.jar: $(CLASSFILES) $(JAVA_ICON) fat/classes/Manifest.txt
        mkdir -p fat/classes
        test -L fat/classes/altosui || ln -sf ../.. fat/classes/altosui
+       mkdir -p fat/classes/images
+       cp $(JAVA_ICON) fat/classes/images
        test -L fat/classes/libaltosJNI || ln -sf ../../../libaltos/libaltosJNI fat/classes/libaltosJNI
-       cd ./fat/classes && jar cfm ../../$@ Manifest.txt altosui/*.class libaltosJNI/*.class
+       cd ./fat/classes && jar cfm ../../$@ Manifest.txt images/* altosui/*.class libaltosJNI/*.class
 
 fat/classes/Manifest.txt: $(CLASSFILES) Makefile
        mkdir -p fat/classes
@@ -122,9 +135,9 @@ fat/classes/Manifest.txt: $(CLASSFILES) Makefile
        echo "Class-Path: freetts.jar" >> $@
 
 install: altosui.jar altosui
-       /usr/bin/install -m 0644 altosui.jar $(DESTDIR)/usr/share/java/altosui.jar
-       /usr/bin/install -m 0644 altosui.1 $(DESTDIR)/usr/share/man/man1/altosui.1
-       /usr/bin/install altosui $(DESTDIR)/usr/bin/altosui
+       install -m 0644 altosui.jar $(DESTDIR)/usr/share/java/altosui.jar
+       install -m 0644 altosui.1 $(DESTDIR)/usr/share/man/man1/altosui.1
+       install altosui $(DESTDIR)/usr/bin/altosui
 
 clean:
        rm -f *.class altosui.jar
@@ -132,11 +145,15 @@ clean:
        rm -rf classes
        rm -rf windows linux
 
+distclean:     clean
+       rm -f $(DARWIN_ZIP) $(WINDOWS_EXE) $(LINUX_TGZ)
+       rm -rf darwin fat
+
 FAT_FILES=$(FATJAR) $(FREETTSJAR) $(HEXFILES)
 
 LINUX_FILES=$(FAT_FILES) ../libaltos/libaltos.so fat/altosui
 $(LINUX_TGZ): $(LINUX_FILES)
-       rm $@
+       rm -f $@
        mkdir -p linux/AltOS
        rm -f linux/AltOS/*
        cp $(LINUX_FILES) linux/AltOS
@@ -147,19 +164,19 @@ DARWIN_EXTRA=$(HEXFILES)
 DARWIN_FILES=$(DARWIN_RESOURCES) $(DARWIN_EXTRA)
 
 $(DARWIN_ZIP): $(DARWIN_FILES)
-       rm $@
+       rm -f $@
        cp -a AltosUI.app darwin/
        mkdir -p darwin/AltosUI.app/Contents/Resources/Java
        cp $(DARWIN_RESOURCES) darwin/AltosUI.app/Contents/Resources/Java
        mkdir -p darwin/AltOS
        cp $(DARWIN_EXTRA) darwin/AltOS
-       cd darwin && zip -j -r ../$@ AltosUI.app AltOS
+       cd darwin && zip -r ../$@ AltosUI.app AltOS
 
-WINDOWS_FILES = $(FAT_FILES) ../libaltos/altos.dll ../../telemetrum.inf
+WINDOWS_FILES = $(FAT_FILES) ../libaltos/altos.dll ../../telemetrum.inf $(WINDOWS_ICON)
 
-$(WINDOWS_ZIP): $(WINDOWS_FILES)
-       rm $@
+$(WINDOWS_EXE): $(WINDOWS_FILES) altos-windows.nsi
+       rm -f $@
        mkdir -p windows/AltOS
        rm -f windows/AltOS/*
        cp $(WINDOWS_FILES) windows/AltOS
-       cd windows && zip -j -r ../$@ AltOS
+       makensis altos-windows.nsi