r1843
dslinux_amadeus at dslinux.in-berlin.de
dslinux_amadeus at dslinux.in-berlin.de
Fri Jul 27 14:24:24 CEST 2007
Author: amadeus
Date: 2007-07-27 14:24:18 +0200 (Fri, 27 Jul 2007)
New Revision: 1843
Log:
add gdb
Modified: trunk/toolchain/Makefile
===================================================================
--- trunk/toolchain/Makefile 2007-07-27 11:46:30 UTC (rev 1842)
+++ trunk/toolchain/Makefile 2007-07-27 12:24:18 UTC (rev 1843)
@@ -29,6 +29,7 @@
ELF2FLT_VER = 20070723
GENROMFS_VER = 0.5.1
LIBELF_VER = 0.8.8
+GDB_VER = 6.6
BINUTILS_DIST := binutils-$(BINUTILS_VER).tar.bz2
GCC_DIST := gcc-core-$(GCC_VER).tar.bz2
@@ -36,6 +37,7 @@
ELF2FLT_DIST := elf2flt-$(ELF2FLT_VER).tar.gz
GENROMFS_DIST := genromfs-$(GENROMFS_VER).tar.gz
LIBELF_DIST := libelf-$(LIBELF_VER).tar.gz
+GDB_DIST := gdb-$(GDB_VER).tar.bz2
# We do basic MD5 checking to prevent hassle with broken downloads.
BINUTILS_DIST_MD5 = e26e2e06b6e4bf3acf1dc8688a94c0d1
@@ -44,13 +46,15 @@
GPP_DIST_MD5 = 5c79e6af5b49dd9cfd22001f3856f447
GENROMFS_DIST_MD5 = fee69ecbf8f990fdb0ca0c7267c13e7e
LIBELF_DIST_MD5 = be84e553686dd50c8b6d520f86f46521
+GDB_DIST_MD5 = a4df41d28dd514d64e8ccbfe125fd9a6
DISTFILES := $(DISTDIR)/$(BINUTILS_DIST) \
$(DISTDIR)/$(GCC_DIST) \
$(DISTDIR)/$(GPP_DIST) \
$(DISTDIR)/$(ELF2FLT_DIST) \
$(DISTDIR)/$(GENROMFS_DIST) \
- $(DISTDIR)/$(LIBELF_DIST)
+ $(DISTDIR)/$(LIBELF_DIST) \
+ $(DISTDIR)/$(GDB_DIST)
FETCH_CMD = wget -c
@@ -65,12 +69,14 @@
#ELF2FLT_URL := http://stsp.spline.de/dslinux/$(ELF2FLT_DIST)
GENROMFS_URL := $(SOURCEFORGE_MIRROR)/romfs/$(GENROMFS_DIST)
LIBELF_URL := http://www.mr511.de/software/$(LIBELF_DIST)
+GDB_URL := $(GNU_MIRROR)/gdb/$(GDB_DIST)
BINUTILS_SRCDIR := $(SRCDIR)/binutils-$(BINUTILS_VER)
GCC_SRCDIR := $(SRCDIR)/gcc-$(GCC_VER)
ELF2FLT_SRCDIR := $(SRCDIR)/elf2flt-$(ELF2FLT_VER)
GENROMFS_SRCDIR := $(SRCDIR)/genromfs-$(GENROMFS_VER)
LIBELF_SRCDIR := $(SRCDIR)/libelf-$(LIBELF_VER)
+GDB_SRCDIR := $(SRCDIR)/gdb-$(GDB_VER)
KERNEL_SRCDIR := $(CWD)/../linux-2.6.x
UCLIBC_SRCDIR := $(CWD)/../uClibc
NDSTOOL_SRCDIR := $(CWD)/ndstool
@@ -80,6 +86,7 @@
GCC_OBJDIR := $(OBJDIR)/gcc-$(GCC_VER)
ELF2FLT_OBJDIR := $(OBJDIR)/elf2ftl-$(ELF2FLT_VER)
LIBELF_OBJDIR := $(OBJDIR)/libelf-$(ELF2FLT_VER)
+GDB_OBJDIR := $(OBJDIR)/gdb-$(GDB_VER)
# For releases, this must be changed to the version number:
VERSION := $(shell date -I)
@@ -97,7 +104,7 @@
# for the bootstrap process.
all: dirs-create binutils-install elf2flt-install sysroot-create \
gcc-stage1-install uClibc-install gcc-stage2-install \
- genromfs-install libelf-install ndstool-install \
+ genromfs-install libelf-install gdb-install ndstool-install \
symbolmap.sh-install strip dist
# If you just want to download distfiles, use this target.
@@ -105,12 +112,12 @@
# Use these to start a build from the beginning.
reset: dirs-reset binutils-reset uClibc-reset sysroot-reset gcc-stage1-reset \
- gcc-stage2-reset elf2flt-reset libelf-reset ndstool-reset strip-reset \
+ gcc-stage2-reset elf2flt-reset libelf-reset gdb-reset ndstool-reset strip-reset \
dist-reset
# Use to save disc space.
clean: binutils-clean uClibc-clean sysroot-clean gcc-clean elf2flt-clean \
- libelf-clean ndstool-clean dist-clean
+ libelf-clean gdb-clean ndstool-clean dist-clean
# Nukes everything (including the installed toolchain itself!)
# Use this to start ALL OVER AGAIN! Use with caution!
@@ -582,6 +589,54 @@
touch $@
#######################################################################
+# gdb
+#######################################################################
+
+gdb-unpack: $(GDB_SRCDIR)/.unpacked
+gdb-configure: $(GDB_SRCDIR)/.configured
+gdb-compile: $(GDB_SRCDIR)/.compiled
+gdb-install: $(GDB_SRCDIR)/.installed
+gdb-reset:
+ rm -f $(foreach f, .unpacked .configured .compiled \
+ .installed, $(GDB_SRCDIR)/$(f))
+gdb-clean:
+ -$(MAKE) -C $(GDB_OBJDIR) clean
+
+# fetch distfile for gdb
+$(DISTDIR)/$(GDB_DIST):
+ cd $(DISTDIR) && $(FETCH_CMD) $(GDB_URL)
+
+# unpack gdb
+$(GDB_SRCDIR)/.unpacked: $(DISTDIR)/$(GDB_DIST)
+ test "`md5sum $(DISTDIR)/$(GDB_DIST) | cut -d' ' -f 1`" \
+ = "$(GDB_DIST_MD5)"
+ tar -C $(SRCDIR) -jxf $(DISTDIR)/$(GDB_DIST)
+ touch $@
+
+# configure gdb
+$(GDB_SRCDIR)/.configured: $(GDB_SRCDIR)/.unpacked
+ [ -d $(GDB_OBJDIR) ] || mkdir -p $(GDB_OBJDIR)
+ cd $(GDB_OBJDIR) \
+ && $(GDB_SRCDIR)/configure \
+ --prefix=$(PREFIX) \
+ --target=arm-linux
+ touch $@
+
+# compile gdb
+$(GDB_SRCDIR)/.compiled: $(GDB_SRCDIR)/.configured
+ $(MAKE) -C $(GDB_OBJDIR)
+ touch $@
+
+# install gdb
+$(GDB_SRCDIR)/.installed: $(GDB_SRCDIR)/.compiled
+ $(MAKE) -C $(GDB_OBJDIR) install
+ mv $(PREFIX)/bin/arm-linux-gdb $(PREFIX)/bin/arm-linux-elf-gdb
+ mv $(PREFIX)/bin/arm-linux-gdbtui $(PREFIX)/bin/arm-linux-elf-gdbtui
+ mv $(PREFIX)/bin/arm-linux-run $(PREFIX)/bin/arm-linux-elf-run
+ touch $@
+
+
+#######################################################################
# symbolmap.sh
#######################################################################
More information about the dslinux-commit
mailing list