altosui: Split status and info panels into separate files
[fw/altos] / ao-tools / altosui / Makefile
index cd1230238a1cd199fb3e2a5156248cf67ead5e9f..3b88e1c128467f7b8077867baefb176c42fc5a40 100644 (file)
@@ -3,7 +3,11 @@
 CLASSPATH=classes:./*
 CLASSFILES=\
        AltosConvert.class \
+       AltosEeprom.class \
+       AltosEepromMonitor.class \
        AltosFile.class \
+       AltosFlightInfoTableModel.class \
+       AltosFlightStatusTableModel.class \
        AltosGPS.class \
        AltosGreatCircle.class \
        AltosLog.class \
@@ -27,18 +31,26 @@ FREETTSJAR= \
        cmutimelex.jar \
        cmu_us_kal.jar \
        en_us.jar \
-       freetts.jar \
-       freetts-jsapi10.jar \
-       jsapi.jar
+       freetts.jar
 
 JAVAFLAGS=-Xlint:unchecked
 
-all: altosui.jar
+OS:=$(shell uname)
+
+ifeq ($(OS),Linux)
+ALTOSUI_APP=altosui
+endif
+
+ifeq ($(OS),Darwin)
+ALTOSUI_APP=AltosUI.app/Contents/Resources/Java/altosui.jar
+endif
+
+all: altosui.jar $(ALTOSUI_APP)
 
 $(CLASSFILES):
 
 .java.class:
-       javac -cp "$(CLASSPATH)" $(JAVAFLAGS) $*.java
+       javac -encoding UTF8 -classpath "$(CLASSPATH)" $(JAVAFLAGS) $*.java
 
 altosui.jar: classes/altosui classes/libaltosJNI $(FREETTSJAR) $(CLASSFILES) Manifest.txt
        cd ./classes && jar cfm ../$@ altosui/Manifest.txt altosui/*.class libaltosJNI/*.class
@@ -54,6 +66,23 @@ classes/libaltosJNI:
 $(FREETTSJAR):
        ln -s $(FREETTSLIB)/$@ .
 
+ifeq ($(OS),Darwin)
+RESOURCES=altosui.jar $(FREETTSJAR) ../libaltos/libaltos.dylib
+
+$(ALTOSUI_APP): $(RESOURCES)
+       mkdir -p AltosUI.app/Contents/Resources/Java
+       cp $(RESOURCES) AltosUI.app/Contents/Resources/Java
+
+endif
+
+ifeq ($(OS),Linux)
+altosui:
+       echo "#!/bin/sh" > $@
+       echo "exec java -Djava.library.path=../libaltos -jar altosui.jar" >> $@
+       chmod +x ./altosui
+endif
+
 clean:
        rm -f *.class $(FREETTSJAR) altosui.jar
+       rm -f AltosUI.app/Contents/Resources/Java/*
        rm -rf classes