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