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