790aecdabefcb570065df7516e9af59f4e1440e0
[fw/altos] / ao-tools / altosui / Makefile
1 .SUFFIXES: .java .class
2
3 CLASSPATH=classes:./*
4 CLASSFILES=\
5         AltosConvert.class \
6         AltosEeprom.class \
7         AltosEepromMonitor.class \
8         AltosFile.class \
9         AltosGPS.class \
10         AltosGreatCircle.class \
11         AltosLog.class \
12         AltosParse.class \
13         AltosPreferences.class \
14         AltosSerialMonitor.class \
15         AltosSerial.class \
16         AltosState.class \
17         AltosTelemetry.class \
18         AltosUI.class \
19         AltosDevice.class \
20         AltosDeviceDialog.class \
21         AltosVoice.class
22
23 FREETTSSRC=/home/keithp/src/freetts/freetts-1.2.2
24 FREETTSLIB=$(FREETTSSRC)/lib
25 FREETTSJAR= \
26         cmudict04.jar \
27         cmulex.jar \
28         cmu_time_awb.jar \
29         cmutimelex.jar \
30         cmu_us_kal.jar \
31         en_us.jar \
32         freetts.jar
33
34 JAVAFLAGS=-Xlint:unchecked
35
36 OS:=$(shell uname)
37
38 ifeq ($(OS),Linux)
39 ALTOSUI_APP=altosui
40 endif
41
42 ifeq ($(OS),Darwin)
43 ALTOSUI_APP=AltosUI.app/Contents/Resources/Java/altosui.jar
44 endif
45
46 all: altosui.jar $(ALTOSUI_APP)
47
48 $(CLASSFILES):
49
50 .java.class:
51         javac -encoding UTF8 -classpath "$(CLASSPATH)" $(JAVAFLAGS) $*.java
52
53 altosui.jar: classes/altosui classes/libaltosJNI $(FREETTSJAR) $(CLASSFILES) Manifest.txt
54         cd ./classes && jar cfm ../$@ altosui/Manifest.txt altosui/*.class libaltosJNI/*.class
55
56 classes/altosui:
57         mkdir -p classes
58         ln -s .. classes/altosui
59
60 classes/libaltosJNI:
61         mkdir -p classes
62         ln -s ../../libaltos/libaltosJNI classes/libaltosJNI
63
64 $(FREETTSJAR):
65         ln -s $(FREETTSLIB)/$@ .
66
67 ifeq ($(OS),Darwin)
68 RESOURCES=altosui.jar $(FREETTSJAR) ../libaltos/libaltos.dylib
69
70 $(ALTOSUI_APP): $(RESOURCES)
71         mkdir -p AltosUI.app/Contents/Resources/Java
72         cp $(RESOURCES) AltosUI.app/Contents/Resources/Java
73
74 endif
75
76 ifeq ($(OS),Linux)
77 altosui:
78         echo "#!/bin/sh" > $@
79         echo "exec java -Djava.library.path=../libaltos -jar altosui.jar" >> $@
80         chmod +x ./altosui
81 endif
82
83 clean:
84         rm -f *.class $(FREETTSJAR) altosui.jar
85         rm -f AltosUI.app/Contents/Resources/Java/*
86         rm -rf classes