fix permissions on installed jar file, switch from ao-view to altosui in
[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         AltosCSVUI.class \
12         AltosDebug.class \
13         AltosEepromDownload.class \
14         AltosEepromMonitor.class \
15         AltosEepromReader.class \
16         AltosEepromRecord.class \
17         AltosFile.class \
18         AltosFlash.class \
19         AltosFlashUI.class \
20         AltosFlightInfoTableModel.class \
21         AltosFlightStatusTableModel.class \
22         AltosGPS.class \
23         AltosGreatCircle.class \
24         AltosHexfile.class \
25         AltosLog.class \
26         AltosLogfileChooser.class \
27         AltosParse.class \
28         AltosPreferences.class \
29         AltosRecord.class \
30         AltosSerialMonitor.class \
31         AltosSerial.class \
32         AltosState.class \
33         AltosTelemetry.class \
34         AltosTelemetryReader.class \
35         AltosUI.class \
36         AltosDevice.class \
37         AltosDeviceDialog.class \
38         AltosRomconfig.class \
39         AltosRomconfigUI.class \
40         AltosVoice.class
41
42 #FREETTSSRC=/home/keithp/src/freetts/freetts-1.2.2
43 #FREETTSLIB=$(FREETTSSRC)/lib
44 #FREETTSJAR=/usr/share/java/freetts.jar
45 #FREETTSJAR= \
46 #       cmudict04.jar \
47 #       cmulex.jar \
48 #       cmu_time_awb.jar \
49 #       cmutimelex.jar \
50 #       cmu_us_kal.jar \
51 #       en_us.jar \
52 #       freetts.jar
53
54 JAVAFLAGS=-Xlint:unchecked -Xlint:deprecation
55
56 OS:=$(shell uname)
57
58 ifeq ($(OS),Linux)
59 ALTOSUI_APP=altosui
60 endif
61
62 ifeq ($(OS),Darwin)
63 ALTOSUI_APP=AltosUI.app/Contents/Resources/Java/altosui.jar
64 endif
65
66 all: altosui.jar $(ALTOSUI_APP)
67
68 $(CLASSFILES):
69
70 .java.class:
71         javac -encoding UTF8 -classpath "$(CLASSPATH)" $(JAVAFLAGS) $*.java
72
73 altosui.jar: classes/altosui classes/libaltosJNI $(FREETTSJAR) $(CLASSFILES) Manifest.txt
74         cd ./classes && jar cfm ../$@ altosui/Manifest.txt altosui/*.class libaltosJNI/*.class
75
76 classes/altosui:
77         mkdir -p classes
78         ln -sf .. classes/altosui
79
80 classes/libaltosJNI:
81         mkdir -p classes
82         ln -sf ../../libaltos/libaltosJNI classes/libaltosJNI
83
84 #$(FREETTSJAR):
85 #       ln -s $(FREETTSLIB)/$@ .
86
87 ifeq ($(OS),Darwin)
88 RESOURCES=altosui.jar $(FREETTSJAR) ../libaltos/libaltos.dylib
89
90 $(ALTOSUI_APP): $(RESOURCES)
91         mkdir -p AltosUI.app/Contents/Resources/Java
92         cp $(RESOURCES) AltosUI.app/Contents/Resources/Java
93
94 endif
95
96 ifeq ($(OS),Linux)
97 altosui:
98         echo "#!/bin/sh" > $@
99         echo "exec java -Djava.library.path=/usr/lib/altos/libaltos -jar /usr/share/java/altosui.jar" >> $@
100         chmod +x ./altosui
101
102 install:        altosui.jar altosui
103         /usr/bin/install -m 0644 altosui.jar $(DESTDIR)/usr/share/java/altosui.jar
104         /usr/bin/install altosui $(DESTDIR)/usr/bin/altosui
105         
106 endif
107
108 clean:
109         rm -f *.class altosui.jar
110         rm -f AltosUI.app/Contents/Resources/Java/*
111         rm -rf classes