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