AltosConfig.class \
AltosConfigUI.class \
AltosConvert.class \
+ AltosCRCException.class \
AltosCSV.class \
AltosCSVUI.class \
AltosDebug.class \
AltosGPS.class \
AltosGreatCircle.class \
AltosHexfile.class \
+ AltosLine.class \
AltosLog.class \
AltosLogfileChooser.class \
AltosParse.class \
AltosPreferences.class \
+ AltosReader.class \
AltosRecord.class \
AltosSerialMonitor.class \
AltosSerial.class \
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
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
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" >> $@
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
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
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
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