altosui/telegps/micropeak: Handle both MULTI_LIB and non-MULTI_LIB builds
authorKeith Packard <keithp@keithp.com>
Fri, 13 May 2016 02:10:19 +0000 (19:10 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 13 May 2016 02:10:19 +0000 (19:10 -0700)
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>
altosui/Makefile.am
micropeak/Makefile.am
telegps/Makefile.am

index a6338d38345bb7222d7541d3ebf3ea0a8123f0c3..cfe3bb5b54c39654e7e0b16747661a39d03dd6f7 100644 (file)
@@ -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
index a8834a66e6c0bd5b16384a888d6fa0e52b968939..7ad2c102c191271e976bd32e5cd7a7b20ca6b00b 100644 (file)
@@ -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
index 0b86329aada21be0d2daeeab816c73adaea83a05..3484b951f97d49553e83f3c58eb0daf6cfae0e51 100644 (file)
@@ -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