X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-tools%2Faltosui%2FMakefile;h=1273e7d4990ba58b29388881e9156ea96ac366c2;hp=090911ef06f26f35c445bb2b4e136aa065fde984;hb=7bd220dfd9b3fb0e42eb90c3b37eb7b4169eb21b;hpb=02f2be90879b682b6e648cf2debc83223d127b9d diff --git a/ao-tools/altosui/Makefile b/ao-tools/altosui/Makefile index 090911ef..1273e7d4 100644 --- a/ao-tools/altosui/Makefile +++ b/ao-tools/altosui/Makefile @@ -1,18 +1,105 @@ .SUFFIXES: .java .class -CLASSPATH=..:/usr/share/java/* -CLASSFILES=AltosSerialMonitor.class AltosSerial.class AltosTelemetry.class AltosUI.class -JAVAFLAGS=-Xlint:unchecked +CLASSPATH=classes:./* +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 -all: $(CLASSFILES) altosui +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 -cp "$(CLASSPATH)" $(JAVAFLAGS) $*.java + 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 -altosui: Makefile - (echo '#!/bin/sh'; \ - echo exec java -cp '"$(CLASSPATH)"' altosui/AltosUI) > $@ - chmod +x $@ +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 \ No newline at end of file + rm -f *.class $(FREETTSJAR) altosui.jar + rm -f AltosUI.app/Contents/Resources/Java/* + rm -rf classes