CLASSPATH=classes:./*
CLASSFILES=\
AltosConvert.class \
+ AltosEeprom.class \
+ AltosEepromMonitor.class \
AltosFile.class \
AltosGPS.class \
AltosGreatCircle.class \
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
$(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