[PATCH] Adjust top-level Makefile for arm-none-eabi toolchain

Peter Stuge peter at stuge.se
Tue Jan 25 21:27:34 UTC 2011


The gnuarm.com toolchain works fine but is very old. And although
it is based on newlib, the tuple that we used to configure for was
arm-elf-linux, which is of course bogus since we aren't building
Linux applications.

This patch optimizes for the CodeSourcery G++ Lite 2010.09 ARM EABI
toolchain, and assumes that it was unpacked next to the old one.
Download here:

http://www.codesourcery.com/sgpp/lite/arm/portal/release1592

(I haven't gotten the Linux Installer to work, so I recommend the TAR.)

And since CC is detected by configure when a valid host tuple is given
and that toolchain is sane there's no need for us to hard-code the
gnuarm.com compiler name in our Makefile.
---
 src/Makefile |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/Makefile b/src/Makefile
index b3594c1..bb34175 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,10 +1,13 @@
 
 # this is not really used as we don't do 'make install'. You can still specify
 # it in case you _want_ to manually 'make install' the target libosmocore.
-CROSS_INST_PREFIX=/usr/local/stow/osmocom-bb/arm-elf
+CROSS_INST_PREFIX ?= /usr/local/stow/osmocom-bb/arm-2010.09
+
+# this is the host tuple of your cross-toolchain
+HOST ?= arm-none-eabi-
 
 # this is the prefix of your cross-toolchain programs
-CROSS_TOOL_PREFIX=arm-elf-
+CROSS_TOOL_PREFIX ?= $(HOST)-
 
 TOPDIR=$(shell pwd)
 OSMOCORE_CONFIGURE_ENV= LIBOSMOCORE_LIBS=$(TOPDIR)/shared/libosmocore/build-host/src/.libs/libosmocore.a \
@@ -37,9 +40,9 @@ shared/libosmocore/build-target:
 
 shared/libosmocore/build-target/Makefile: shared/libosmocore/configure shared/libosmocore/build-target
 	cd shared/libosmocore/build-target && ../configure \
-			--host=arm-elf-linux --disable-vty --enable-panic-infloop \
+			--host=$(HOST) --disable-vty --enable-panic-infloop \
 			--disable-shared --disable-talloc --disable-tests \
-		CC="$(CROSS_TOOL_PREFIX)gcc" CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
+		CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
 
 shared/libosmocore/build-target/src/.libs/libosmocore.a: shared/libosmocore/build-target/Makefile
 	cd shared/libosmocore/build-target && make
-- 
1.7.2


--nEsDIrWrg+hrB7l1--




More information about the baseband-devel mailing list