summaryrefslogtreecommitdiff
path: root/ao-tools/altosui/Makefile
blob: 770abcf33cae87954bafd303730360e44e423a1c (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
104
105
106
107
108
109
110
111
112
.SUFFIXES: .java .class

CLASSPATH=classes:./*:/usr/share/java/*
CLASSFILES=\
	Altos.class \
	AltosChannelMenu.class \
	AltosConfig.class \
	AltosConfigUI.class \
	AltosConvert.class \
	AltosCSV.class \
	AltosCSVUI.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 \
	AltosLogfileChooser.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=/usr/share/java/freetts.jar
#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 -sf .. classes/altosui

classes/libaltosJNI:
	mkdir -p classes
	ln -sf ../../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=/usr/lib/altos -jar /usr/share/java/altosui.jar" >> $@
	chmod +x ./altosui

install:	altosui.jar altosui
	/usr/bin/install -m 0644 altosui.jar $(DESTDIR)/usr/share/java/altosui.jar
	/usr/bin/install -m 0644 altosui.1 $(DESTDIR)/usr/share/man/man1/altosui.1
	/usr/bin/install altosui $(DESTDIR)/usr/bin/altosui
	
endif

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