summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ao-tools/altosui/AltosUI.java2
-rw-r--r--ao-tools/altosui/Makefile-standalone (renamed from ao-tools/altosui/Makefile)0
-rw-r--r--ao-tools/altosui/Makefile.am165
-rw-r--r--ao-tools/altosui/altos-windows.nsi20
-rwxr-xr-xao-tools/altosui/altosui-fat4
-rw-r--r--ao-tools/libaltos/.gitignore12
-rw-r--r--ao-tools/libaltos/Makefile-standalone (renamed from ao-tools/libaltos/Makefile)2
-rw-r--r--ao-tools/libaltos/Makefile.am27
-rw-r--r--configure.ac39
9 files changed, 259 insertions, 12 deletions
diff --git a/ao-tools/altosui/AltosUI.java b/ao-tools/altosui/AltosUI.java
index eb376be4..37625e8e 100644
--- a/ao-tools/altosui/AltosUI.java
+++ b/ao-tools/altosui/AltosUI.java
@@ -75,7 +75,7 @@ public class AltosUI extends JFrame {
String[] statusNames = { "Height (m)", "State", "RSSI (dBm)", "Speed (m/s)" };
Object[][] statusData = { { "0", "pad", "-50", "0" } };
- java.net.URL imgURL = AltosUI.class.getResource("/images/altus-metrum-16x16.jpg");
+ java.net.URL imgURL = AltosUI.class.getResource("/altus-metrum-16x16.jpg");
if (imgURL != null)
setIconImage(new ImageIcon(imgURL).getImage());
diff --git a/ao-tools/altosui/Makefile b/ao-tools/altosui/Makefile-standalone
index 90621f36..90621f36 100644
--- a/ao-tools/altosui/Makefile
+++ b/ao-tools/altosui/Makefile-standalone
diff --git a/ao-tools/altosui/Makefile.am b/ao-tools/altosui/Makefile.am
new file mode 100644
index 00000000..20c8b26d
--- /dev/null
+++ b/ao-tools/altosui/Makefile.am
@@ -0,0 +1,165 @@
+JAVAROOT=classes
+
+CLASSPATH_ENV=CLASSPATH="classes/altosui/*:../libaltos/libaltosJNI/*:$(FREETTS)/*:/usr/share/java/*"
+
+altosui_JAVA = \
+ AltosChannelMenu.java \
+ AltosConfig.java \
+ AltosConfigUI.java \
+ AltosConvert.java \
+ AltosCRCException.java \
+ AltosCSV.java \
+ AltosCSVUI.java \
+ AltosDebug.java \
+ AltosDeviceDialog.java \
+ AltosDevice.java \
+ AltosEepromDownload.java \
+ AltosEepromMonitor.java \
+ AltosEepromReader.java \
+ AltosEepromRecord.java \
+ AltosFile.java \
+ AltosFlash.java \
+ AltosFlashUI.java \
+ AltosFlightInfoTableModel.java \
+ AltosFlightStatusTableModel.java \
+ AltosGPS.java \
+ AltosGreatCircle.java \
+ AltosHexfile.java \
+ Altos.java \
+ AltosLine.java \
+ AltosLogfileChooser.java \
+ AltosLog.java \
+ AltosParse.java \
+ AltosPreferences.java \
+ AltosReader.java \
+ AltosRecord.java \
+ AltosRomconfig.java \
+ AltosRomconfigUI.java \
+ AltosSerial.java \
+ AltosSerialMonitor.java \
+ AltosState.java \
+ AltosTelemetry.java \
+ AltosTelemetryReader.java \
+ AltosUI.java \
+ AltosVoice.java
+
+FREETTS_CLASS= \
+ cmudict04.jar \
+ cmulex.jar \
+ cmu_time_awb.jar \
+ cmutimelex.jar \
+ cmu_us_kal.jar \
+ en_us.jar \
+ freetts.jar
+
+LIBALTOS= \
+ libaltos.so \
+ libaltos.dylib \
+ altos.dll
+
+JAR=altosui.jar
+
+FATJAR=altosui-fat.jar
+
+# Icons
+JAVA_ICON=$(top_srcdir)/icon/altus-metrum-16x16.jpg
+WINDOWS_ICON=$(top_srcdir)/icon/altus-metrum.ico
+
+# Firmware
+FIRMWARE_TD=$(top_srcdir)/src/teledongle-v0.2.ihx
+FIRMWARE_TM=$(top_srcdir)/src/telemetrum-v1.0.ihx
+FIRMWARE=$(FIRMWARE_TM) $(FIRMWARE_TD)
+
+# Distribution targets
+LINUX_DIST=Altos-Linux-$(VERSION).tar.bz2
+MACOSX_DIST=Altos-Mac-$(VERSION).zip
+WINDOWS_DIST=Altos-Windows-$(VERSION_DASH).exe
+
+FAT_FILES=$(FATJAR) $(FREETTS_CLASS)
+
+LINUX_FILES=$(FAT_FILES) libaltos.so
+
+MACOSX_FILES=$(FAT_FILES) libaltos.dylib
+MACOSX_EXTRA=$(FIRMWARE)
+
+WINDOWS_FILES=$(FAT_FILES) altos.dll $(top_srcdir)/telemetrum.inf $(WINDOWS_ICON)
+
+all-local: classes/altosui $(JAR) $(FATJAR)
+
+clean-local:
+ -rm -rf classes/altosui $(JAR) $(FATJAR) \
+ $(LINUX_DIST) $(MACOSX_DIST) $(WINDOWS_DIST) $(FREETTS_CLASS) \
+ $(LIBALTOS) Manifest.txt Manifest-fat.txt altos-windows.log \
+ altosui altosui-test macosx linux
+
+fat: $(FATJAR) $(LINUX_DIST) $(MACOSX_DIST) $(WINDOWS_DIST)
+
+altosuidir=$(datadir)/java
+
+install-altosuiJAVA: altosui.jar
+ @$(NORMAL_INSTALL)
+ test -z "$(altosuidir)" || $(MKDIR_P) "$(DESTDIR)$(altosuidir)"
+ echo " $(INSTALL_DATA)" "$<" "'$(DESTDIR)$(altosuidir)/altosui.jar'"; \
+ $(INSTALL_DATA) "$<" "$(DESTDIR)$(altosuidir)"
+
+classes/altosui:
+ mkdir -p classes/altosui
+
+$(JAR): classaltosui.stamp Manifest.txt $(JAVA_ICON)
+ jar cfm $@ Manifest.txt \
+ -C $(top_srcdir)/icon altus-metrum-16x16.jpg \
+ -C classes altosui \
+ -C ../libaltos libaltosJNI
+
+$(FATJAR): classaltosui.stamp Manifest-fat.txt $(FREETTS_CLASS) $(LIBALTOS) $(JAVA_ICON)
+ jar cfm $@ Manifest-fat.txt \
+ -C $(top_srcdir)/icon altus-metrum-16x16.jpg \
+ -C classes altosui \
+ -C ../libaltos libaltosJNI
+
+Manifest.txt: Makefile
+ echo 'Main-Class: altosui.AltosUI' > $@
+ echo "Class-Path: $(FREETTS)/freetts.jar" >> $@
+
+Manifest-fat.txt:
+ echo 'Main-Class: altosui.AltosUI' > $@
+ echo "Class-Path: freetts.jar" >> $@
+
+altosui: Makefile
+ echo "#!/bin/sh" > $@
+ echo 'exec java -cp "$(FREETTS)/*" -Djava.library.path="$(libdir)" -jar "$(altosuidir)/altosui.jar"' >> $@
+ chmod +x $@
+
+altosui-test: Makefile
+ echo "#!/bin/sh" > $@
+ echo 'exec java -cp "$(FREETTS)/*" -Djava.library.path="../libaltos" -jar altosui.jar' >> $@
+ chmod +x $@
+
+$(LIBALTOS):
+ -rm -f "$@"
+ $(LN_S) ../libaltos/"$@" .
+
+$(FREETTS_CLASS): Makefile
+ -rm -f "$@"
+ $(LN_S) "$(FREETTS)"/"$@" .
+
+$(LINUX_DIST): $(LINUX_FILES)
+ -rm -f $@
+ -rm -rf linux
+ mkdir -p linux/AltOS
+ cp -a $(LINUX_FILES) linux/AltOS
+ tar cjf $@ -C linux AltOS
+
+$(MACOSX_DIST): $(MACOSX_FILES) $(MACOSX_EXTRA)
+ -rm -f $@
+ -rm -rf macosx
+ mkdir macosx
+ cp -a AltosUI.app macosx/
+ mkdir -p macosx/AltOS macosx/AltosUI.app/Contents/Resources/Java
+ cp -a $(MACOSX_FILES) macosx/AltosUI.app/Contents/Resources/Java
+ cp -a $(MACOSX_EXTRA) macosx/AltOS
+ cd macosx && zip -r ../$@ AltosUI.app AltOS
+
+$(WINDOWS_DIST): $(WINDOWS_FILES) altos-windows.nsi
+ -rm -f $@
+ makensis -Oaltos-windows.log "-XOutFile $@" altos-windows.nsi \ No newline at end of file
diff --git a/ao-tools/altosui/altos-windows.nsi b/ao-tools/altosui/altos-windows.nsi
index 5ac708f9..6f38ac0e 100644
--- a/ao-tools/altosui/altos-windows.nsi
+++ b/ao-tools/altosui/altos-windows.nsi
@@ -2,8 +2,6 @@
Name "Altus Metrum Installer"
-OutFile "Altos-Windows.exe"
-
; Default install directory
InstallDir "$PROGRAMFILES\AltusMetrum"
@@ -47,10 +45,18 @@ SectionEnd
Section "AltosUI Application"
SetOutPath $INSTDIR
- File "windows/AltOS/*.jar"
- File "windows/AltOS/*.dll"
+ File "altosui.jar"
+ File "cmudict04.jar"
+ File "cmulex.jar"
+ File "cmu_time_awb.jar"
+ File "cmutimelex.jar"
+ File "cmu_us_kal.jar"
+ File "en_us.jar"
+ File "freetts.jar"
+
+ File "*.dll"
- File "windows/AltOS/*.ico"
+ File "../../icon/*.ico"
CreateShortCut "$SMPROGRAMS\AltusMetrum.lnk" "$INSTDIR\altosui.jar" "" "$INSTDIR\altus-metrum.ico"
SectionEnd
@@ -63,8 +69,8 @@ Section "TeleMetrum and TeleDongle Firmware"
SetOutPath $INSTDIR
- File "windows/AltOS/telemetrum-v1.0.ihx"
- File "windows/AltOS/teledongle-v0.2.ihx"
+ File "../../src/telemetrum-v1.0/telemetrum-v1.0.ihx"
+ File "../../src/teledongle-v0.2/teledongle-v0.2.ihx"
SectionEnd
diff --git a/ao-tools/altosui/altosui-fat b/ao-tools/altosui/altosui-fat
new file mode 100755
index 00000000..a95b78b8
--- /dev/null
+++ b/ao-tools/altosui/altosui-fat
@@ -0,0 +1,4 @@
+#!/bin/sh
+me=`which "$0"`
+dir=`dirname "$me"`
+exec java -cp "$dir/*" -Djava.library.path="$dir" -jar "$dir"/altosui.jar
diff --git a/ao-tools/libaltos/.gitignore b/ao-tools/libaltos/.gitignore
new file mode 100644
index 00000000..c490e6f8
--- /dev/null
+++ b/ao-tools/libaltos/.gitignore
@@ -0,0 +1,12 @@
+*.so
+*.lo
+*.la
+*.java
+*.class
+.libs/
+classlibaltos.stamp
+libaltos_wrap.c
+libaltosJNI
+cjnitest
+libaltos.swig
+swig_bindings/
diff --git a/ao-tools/libaltos/Makefile b/ao-tools/libaltos/Makefile-standalone
index cb767c85..4e438050 100644
--- a/ao-tools/libaltos/Makefile
+++ b/ao-tools/libaltos/Makefile-standalone
@@ -66,7 +66,7 @@ SWIG_FILE=$(SWIG_DIR)/libaltos.swig
SWIG_WRAP=$(SWIG_DIR)/libaltos_wrap.c
JNI_DIR=libaltosJNI
-JNI_FILE=$(JNI_DIR)/libaltosJNI.java
+JNI_FILE=$(JNI_DIR)/libaltosJNI.java
JNI_SRCS=$(JNI_FILE) \
$(JNI_DIR)/SWIGTYPE_p_altos_file.java \
$(JNI_DIR)/SWIGTYPE_p_altos_list.java \
diff --git a/ao-tools/libaltos/Makefile.am b/ao-tools/libaltos/Makefile.am
new file mode 100644
index 00000000..2f1d6fca
--- /dev/null
+++ b/ao-tools/libaltos/Makefile.am
@@ -0,0 +1,27 @@
+JAVAC=javac
+AM_CFLAGS="-I$(JVM_INCLUDE)"
+
+lib_LTLIBRARIES=libaltos.la
+
+libaltos_la_SOURCES=\
+ libaltos.c
+
+HFILES=libaltos.h
+
+SWIG_FILE=libaltos.swig
+
+CLASSDIR=libaltosJNI
+
+$(SWIG_FILE): libaltos.i0 $(HFILES)
+ sed 's;//%;%;' libaltos.i0 $(HFILES) > $(SWIG_FILE)
+
+all-local: classlibaltos.stamp
+
+classlibaltos.stamp: $(SWIG_FILE)
+ swig -java -package libaltosJNI $(SWIG_FILE)
+ mkdir -p libaltosJNI
+ $(JAVAC) -d . $(AM_JAVACFLAGS) $(JAVACFLAGS) *.java && \
+ touch classlibaltos.stamp
+
+clean-local:
+ -rm -rf libaltosJNI *.class *.java classlibaltos.stamp $(SWIG_FILE) \ No newline at end of file
diff --git a/configure.ac b/configure.ac
index fafc6b34..19ae0ac8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,19 +17,50 @@ dnl 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
dnl
dnl Process this file with autoconf to create configure.
-AC_INIT(COPYING)
-
-AM_INIT_AUTOMAKE(altos, 0.1)
+AC_PREREQ(2.57)
+AC_INIT([altos], 0.7.1)
+AC_CONFIG_SRCDIR([src/ao.h])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
+VERSION_DASH=`echo $VERSION | sed 's/\./-/g'`
+AC_SUBST(VERSION_DASH)
+
dnl ==========================================================================
AM_CONFIG_HEADER(config.h)
+AC_ARG_WITH(freetts, AS_HELP_STRING([--with-freetts=PATH],
+ [Set freetts class path (default /usr/share/java)]),
+ [FREETTS=$withval], [FREETTS=/usr/share/java])
+
+AC_SUBST(FREETTS)
+
+AC_ARG_WITH(jvm, AS_HELP_STRING([--with-jvm-include=PATH],
+ [Set jvm include path for jni builds (default searches in /usr/lib/jvm)]),
+ [JVM_INCLUDE=$withval], [JVM_INCLUDE=auto])
+
+if test "x$JVM_INCLUDE" = "xauto"; then
+ AC_MSG_CHECKING([JVM include files])
+ for jvm in default-java java-6-openjdk java-6-sun; do
+ if test "x$JVM_INCLUDE" = "xauto"; then
+ INCLUDE="/usr/lib/jvm/$jvm/include"
+ if test -f "$INCLUDE"/jni.h; then
+ JVM_INCLUDE="$INCLUDE"
+ fi
+ fi
+ done
+ if test "x$JVM_INCLUDE" = "xauto"; then
+ AC_MSG_ERROR([no JVM include files found])
+ fi
+ AC_MSG_RESULT([$JVM_INCLUDE])
+fi
+
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_RANLIB
+AC_PROG_LIBTOOL
PKG_PROG_PKG_CONFIG
CFLAGS="-g"
@@ -92,5 +123,7 @@ ao-tools/ao-list/Makefile
ao-tools/ao-load/Makefile
ao-tools/ao-postflight/Makefile
ao-tools/ao-view/Makefile
+ao-tools/libaltos/Makefile
+ao-tools/altosui/Makefile
ao-utils/Makefile
])