summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-05-12 19:10:19 -0700
committerKeith Packard <keithp@keithp.com>2016-05-12 19:10:19 -0700
commit2f4903f903223312d0a3a03dfd413059f24a07f5 (patch)
tree8e9dbe4112c3ea3d13a9d54a78aef6c4968609d5
parent64ed56fe3132faa8585c9cd7b0261ac85f70a7bd (diff)
altosui/telegps/micropeak: Handle both MULTI_LIB and non-MULTI_LIB builds
On x86 systems with -m32 and -m64 compilers, both libaltos32.so and libaltos64.so are built. Otherwise, we should use libaltos.so altosui only dealt with libaltos32.so and libaltos64.so, so it only worked on MULTI_LIB systems. telegps and micropeak only used libaltos.so, so they wouldn't work correctly on multi-lib systems. Fix all of them to work either way. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altosui/Makefile.am23
-rw-r--r--micropeak/Makefile.am25
-rw-r--r--telegps/Makefile.am27
3 files changed, 61 insertions, 14 deletions
diff --git a/altosui/Makefile.am b/altosui/Makefile.am
index a6338d38..cfe3bb5b 100644
--- a/altosui/Makefile.am
+++ b/altosui/Makefile.am
@@ -56,11 +56,17 @@ ALTOSLIB_CLASS=\
ALTOSUILIB_CLASS=\
altosuilib_$(ALTOSUILIB_VERSION).jar
+if MULTI_ARCH
+LIBALTOS_LINUX=libaltos32.so libaltos64.so
+else
+LIBALTOS_LINUX=libaltos.so
+endif
+
LIBALTOS= \
- libaltos32.so \
- libaltos64.so \
+ $(LIBALTOS_LINUX) \
libaltos.dylib \
- altos.dll
+ altos.dll \
+ altos64.dll
desktopdir = $(datadir)/applications
desktop_file = altusmetrum-altosui.desktop
@@ -163,7 +169,7 @@ WINDOWS_DIST=Altos-Windows-$(VERSION_DASH).exe
FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS)
-LINUX_LIBS=libaltos32.so libaltos64.so
+LINUX_LIBS=$(LIBALTOS_LINUX)
LINUX_FILES=$(FAT_FILES) $(LINUX_LIBS) $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE)
LINUX_EXTRA=altosui-fat
@@ -178,7 +184,8 @@ all-local: classes/altosui $(JAR) altosui altosui-test altosui-jdb
clean-local:
-rm -rf classes $(JAR) $(FATJAR) \
- $(LINUX_DIST) $(LINUX_SH) $(MACOSX_DIST) windows $(WINDOWS_DIST) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) \
+ Altos-Linux-*.tar.bz2 Altos-Linux-*.sh Altos-Mac-*.dmg Altos-Windows-*.exe \
+ windows altoslib_*.jar altosuilib_*.jar $(FREETTS_CLASS) \
$(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt altos-windows.log altos-windows.nsi \
altosui altosui-test altosui-jdb macosx linux *.desktop
@@ -269,6 +276,10 @@ altosui-jdb: Makefile
echo 'exec jdb -classpath "classes:./*:../libaltos:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="../libaltos/.libs" altosui/AltosUI "$$@"' >> $@
chmod +x $@
+libaltos.so: build-libaltos
+ -rm -f "$@"
+ $(LN_S) ../libaltos/.libs/"$@" .
+
libaltos32.so: build-libaltos
-rm -f "$@"
$(LN_S) ../libaltos/.libs/"$@" .
@@ -293,6 +304,8 @@ altos64.dll: ../libaltos/altos64.dll
../libaltos/.libs/libaltos32.so: build-libaltos
+../libaltos/.libs/libaltos.so: build-libaltos
+
../libaltos/altos.dll: build-altos-dll
../libaltos/altos64.dll: build-altos64-dll
diff --git a/micropeak/Makefile.am b/micropeak/Makefile.am
index a8834a66..7ad2c102 100644
--- a/micropeak/Makefile.am
+++ b/micropeak/Makefile.am
@@ -40,8 +40,14 @@ JAR=micropeak.jar
FATJAR=micropeak-fat.jar
+if MULTI_ARCH
+LIBALTOS_LINUX=libaltos32.so libaltos64.so
+else
+LIBALTOS_LINUX=libaltos.so
+endif
+
LIBALTOS= \
- libaltos.so \
+ $(LIBALTOS_LINUX) \
libaltos.dylib \
altos64.dll \
altos.dll
@@ -98,8 +104,7 @@ all-local: micropeak-test micropeak-jdb $(JAR)
clean-local:
-rm -rf classes $(JAR) $(FATJAR) \
MicroPeak-Linux-*.tar.bz2 MicroPeak-Mac-*.dmg MicroPeak-Windows-*.exe \
- $(ALTOSLIB_CLASS) \
- $(ALTOSUILIB_CLASS) \
+ altoslib_*.jar altosuilib_*.jar \
$(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt \
micropeak micropeak-test micropeak-jdb macosx linux windows micropeak-windows.log \
micropeak-windows.nsi *.desktop
@@ -121,7 +126,7 @@ DOC=$(MICROPEAK_DOC)
FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS)
-LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE)
+LINUX_FILES=$(FAT_FILES) $(LIBALTOS_LINUX) $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE)
LINUX_EXTRA=micropeak-fat $(desktop_file).in
MACOSX_DRIVER_0_URL=http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_18.dmg
@@ -220,6 +225,14 @@ libaltos.so: build-libaltos
-rm -f "$@"
$(LN_S) ../libaltos/.libs/"$@" .
+libaltos32.so: build-libaltos
+ -rm -f "$@"
+ $(LN_S) ../libaltos/.libs/"$@" .
+
+libaltos64.so: build-libaltos
+ -rm -f "$@"
+ $(LN_S) ../libaltos/.libs/"$@" .
+
libaltos.dylib:
-rm -f "$@"
$(LN_S) ../libaltos/"$@" .
@@ -232,6 +245,10 @@ altos64.dll: ../libaltos/altos64.dll
-rm -f "$@"
$(LN_S) ../libaltos/"$@" .
+../libaltos/.libs/libaltos64.so: ../libaltos/.libs/libaltos32.so
+
+../libaltos/.libs/libaltos32.so: build-libaltos
+
../libaltos/.libs/libaltos.so: build-libaltos
../libaltos/altos.dll: build-altos-dll
diff --git a/telegps/Makefile.am b/telegps/Makefile.am
index 0b86329a..3484b951 100644
--- a/telegps/Makefile.am
+++ b/telegps/Makefile.am
@@ -42,8 +42,14 @@ JAR=telegps.jar
FATJAR=telegps-fat.jar
+if MULTI_ARCH
+LIBALTOS_LINUX=libaltos32.so libaltos64.so
+else
+LIBALTOS_LINUX=libaltos.so
+endif
+
LIBALTOS= \
- libaltos.so \
+ $(LIBALTOS_LINUX) \
libaltos.dylib \
altos64.dll \
altos.dll
@@ -118,9 +124,8 @@ all-local: telegps-test telegps-jdb $(JAR)
clean-local:
-rm -rf classes $(JAR) $(FATJAR) \
TeleGPS-Linux-*.tar.bz2 TeleGPS-Mac-*.dmg TeleGPS-Windows-*.exe \
- $(ALTOSLIB_CLASS) \
- $(ALTOSUILIB_CLASS) \
- $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt \
+ altoslib_*.jar altosuilib_*.jar \
+ $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(FREETTS_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt \
telegps telegps-test telegps-jdb macosx linux windows telegps-windows.log \
telegps-windows.nsi *.desktop
@@ -141,7 +146,7 @@ DOC=$(TELEGPS_DOC)
FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS)
-LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE)
+LINUX_FILES=$(FAT_FILES) $(LIBALTOS_LINUX) $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE)
LINUX_EXTRA=telegps-fat $(desktop_file).in
MACOSX_INFO_PLIST=Info.plist
@@ -219,6 +224,14 @@ libaltos.so: build-libaltos
-rm -f "$@"
$(LN_S) ../libaltos/.libs/"$@" .
+libaltos32.so: build-libaltos
+ -rm -f "$@"
+ $(LN_S) ../libaltos/.libs/"$@" .
+
+libaltos64.so: build-libaltos
+ -rm -f "$@"
+ $(LN_S) ../libaltos/.libs/"$@" .
+
libaltos.dylib:
-rm -f "$@"
$(LN_S) ../libaltos/"$@" .
@@ -231,6 +244,10 @@ altos64.dll: ../libaltos/altos64.dll
-rm -f "$@"
$(LN_S) ../libaltos/"$@" .
+../libaltos/.libs/libaltos64.so: ../libaltos/.libs/libaltos32.so
+
+../libaltos/.libs/libaltos32.so: build-libaltos
+
../libaltos/.libs/libaltos.so: build-libaltos
../libaltos/altos.dll: build-altos-dll