[backfire] backport r27648
[openwrt-10.03/.git] / toolchain / gdb / Makefile
index b1a2ad5fe5587b9aca35f9e52e91720ba68e66da..df4fe55a4a86091716cede3e93febb65f1d138d5 100644 (file)
@@ -1,59 +1,54 @@
-# $Id$
-
+# 
+# Copyright (C) 2006-2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
 include $(TOPDIR)/rules.mk
 
-GDB_NAME:=gdb
-GDB_SITE:=http://ftp.gnu.org/gnu/gdb
-GDB_VERSION:=6.3
-GDB_SOURCE:=$(GDB_NAME)-$(GDB_VERSION).tar.bz2
-GDB_CAT:=bzcat
-
-GDB_DIR:=$(TOOL_BUILD_DIR)/$(GDB_NAME)-$(GDB_VERSION)
-
-$(DL_DIR)/$(GDB_SOURCE):
-       $(WGET) -P $(DL_DIR) $(GDB_SITE)/$(GDB_SOURCE)
-
-$(GDB_DIR)/.patched: $(DL_DIR)/$(GDB_SOURCE)
-       $(GDB_CAT) $(DL_DIR)/$(GDB_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
-       $(PATCH) $(GDB_DIR) ./patches
-       # Copy a config.sub from gcc.  This is only necessary until
-       # gdb's config.sub supports <arch>-linux-uclibc tuples.
-       # Should probably integrate this into the patch.
-       touch  $(GDB_DIR)/.patched
+PKG_NAME:=gdb
+PKG_VERSION:=6.8
 
-# gdb client
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_MD5SUM:=c9da266b884fb8fa54df786dfaadbc7a
+PKG_SOURCE_URL:=@GNU/gdb
 
-GDB_CLIENT_DIR:=$(TOOL_BUILD_DIR)/gdbclient-$(GDB_VERSION)
+include $(INCLUDE_DIR)/toolchain-build.mk
 
-$(GDB_CLIENT_DIR)/.configured: $(GDB_DIR)/.patched
-       mkdir -p $(GDB_CLIENT_DIR)
-       (cd $(GDB_CLIENT_DIR); \
+define Host/Configure
+       (cd $(HOST_BUILD_DIR); \
                gdb_cv_func_sigsetjmp=yes \
-               $(GDB_DIR)/configure \
-               --prefix=$(STAGING_DIR) \
+               CFLAGS="-O2" \
+               $(HOST_BUILD_DIR)/configure \
+               --prefix=$(TOOLCHAIN_DIR)/usr \
                --build=$(GNU_HOST_NAME) \
                --host=$(GNU_HOST_NAME) \
                --target=$(REAL_GNU_TARGET_NAME) \
+               --disable-werror \
                $(DISABLE_NLS) \
-               --without-uiout --disable-gdbmi \
+               --without-uiout \
                --disable-tui --disable-gdbtk --without-x \
                --without-included-gettext \
                --enable-threads \
        );
-       touch  $(GDB_CLIENT_DIR)/.configured
-
-$(GDB_CLIENT_DIR)/gdb/gdb: $(GDB_CLIENT_DIR)/.configured
-       $(MAKE) -C $(GDB_CLIENT_DIR)
-       strip $(GDB_CLIENT_DIR)/gdb/gdb
-
-$(TARGET_CROSS)gdb: $(GDB_CLIENT_DIR)/gdb/gdb
-       install -c $(GDB_CLIENT_DIR)/gdb/gdb $(TARGET_CROSS)gdb
-       cd $(STAGING_DIR)/bin && \
-       ln -fs $(TARGET_CROSS)gdb $(GNU_TARGET_NAME)-gdb
-
-source: $(DL_DIR)/$(GDB_SOURCE)
-prepare: $(GDB_DIR)/.patched
-compile: 
-install: $(TARGET_CROSS)gdb
-clean:
-       rm -rf $(GDB_CLIENT_DIR) $(GDB_DIR)
+endef
+
+define Host/Compile
+       $(MAKE) -C $(HOST_BUILD_DIR)
+endef
+
+define Host/Install
+       mkdir -p $(TOOLCHAIN_DIR)/usr/bin
+       $(INSTALL_BIN) $(HOST_BUILD_DIR)/gdb/gdb $(TOOLCHAIN_DIR)/usr/bin/$(TARGET_CROSS)gdb
+       ln -fs $(TARGET_CROSS)gdb $(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)-gdb
+       strip $(TOOLCHAIN_DIR)/usr/bin/$(TARGET_CROSS)gdb
+endef
+
+define Host/Clean
+       rm -rf \
+               $(HOST_BUILD_DIR) \
+               $(TOOLCHAIN_DIR)/usr/bin/$(TARGET_CROSS)gdb \
+               $(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)-gdb
+endef
+
+$(eval $(call HostBuild))