[toolchain] move common variables to a dedicated include file
[openwrt-10.03/.git] / toolchain / gdb / Makefile
index f122881a741c6f416ba428aeddd5fe67083e5da3..c09414dcd67a93e23cd0732e396ec8544bf77b2e 100644 (file)
@@ -1,36 +1,28 @@
-# $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)
+PKG_NAME:=gdb
+PKG_VERSION:=6.3
 
-$(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_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_MD5SUM:=05b928f41fa5b482e49ca2c24762a0ae
+PKG_SOURCE_URL:=http://ftp.gnu.org/gnu/gdb
+PKG_CAT:=bzcat
 
-# gdb client
 
-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) \
@@ -40,20 +32,24 @@ $(GDB_CLIENT_DIR)/.configured: $(GDB_DIR)/.patched
                --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: FORCE
-       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))