summaryrefslogtreecommitdiff
path: root/ao-tools/altosui/Makefile
blob: affbac39485e4d0ce2c7a2f4a1addeb7c606a526 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
.SUFFIXES: .java .class

CLASSPATH=classes:./*
CLASSFILES=\
	Altos.class \
	AltosChannelMenu.class \
	AltosConfig.class \
	AltosConfigUI.class \
	AltosConvert.class \
	AltosCSV.class \
	AltosDebug.class \
	AltosEepromDownload.class \
	AltosEepromMonitor.class \
	AltosEepromReader.class \
	AltosEepromRecord.class \
	AltosFile.class \
	AltosFlash.class \
	AltosFlashUI.class \
	AltosFlightInfoTableModel.class \
	AltosFlightStatusTableModel.class \
	AltosGPS.class \
	AltosGreatCircle.class \
	AltosHexfile.class \
	AltosLog.class \
	AltosParse.class \
	AltosPreferences.class \
	AltosRecord.class \
	AltosSerialMonitor.class \
	AltosSerial.class \
	AltosState.class \
	AltosTelemetry.class \
	AltosTelemetryReader.class \
	AltosUI.class \
	AltosDevice.class \
	AltosDeviceDialog.class \
	AltosRomconfig.class \
	AltosRomconfigUI.class \
	AltosVoice.class

FREETTSSRC=/home/keithp/src/freetts/freetts-1.2.2
FREETTSLIB=$(FREETTSSRC)/lib
FREETTSJAR= \
	cmudict04.jar \
	cmulex.jar \
	cmu_time_awb.jar \
	cmutimelex.jar \
	cmu_us_kal.jar \
	en_us.jar \
	freetts.jar

JAVAFLAGS=-Xlint:unchecked -Xlint:deprecation

OS:=$(shell uname)

ifeq ($(OS),Linux)
ALTOSUI_APP=altosui
endif

ifeq ($(OS),Darwin)
ALTOSUI_APP=AltosUI.app/Contents/Resources/Java/altosui.jar
endif

all: altosui.jar $(ALTOSUI_APP)

$(CLASSFILES):

.java.class:
	javac -encoding UTF8 -classpath "$(CLASSPATH)" $(JAVAFLAGS) $*.java

altosui.jar: classes/altosui classes/libaltosJNI $(FREETTSJAR) $(CLASSFILES) Manifest.txt
	cd ./classes && jar cfm ../$@ altosui/Manifest.txt altosui/*.class libaltosJNI/*.class

classes/altosui:
	mkdir -p classes
	ln -s .. classes/altosui

classes/libaltosJNI:
	mkdir -p classes
	ln -s ../../libaltos/libaltosJNI classes/libaltosJNI

$(FREETTSJAR):
	ln -s $(FREETTSLIB)/$@ .

ifeq ($(OS),Darwin)
RESOURCES=altosui.jar $(FREETTSJAR) ../libaltos/libaltos.dylib

$(ALTOSUI_APP): $(RESOURCES)
	mkdir -p AltosUI.app/Contents/Resources/Java
	cp $(RESOURCES) AltosUI.app/Contents/Resources/Java

endif

ifeq ($(OS),Linux)
altosui:
	echo "#!/bin/sh" > $@
	echo "exec java -Djava.library.path=../libaltos -jar altosui.jar" >> $@
	chmod +x ./altosui
endif

clean:
	rm -f *.class $(FREETTSJAR) altosui.jar
	rm -f AltosUI.app/Contents/Resources/Java/*
	rm -rf classes