X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/06265758beb1721526360aa01176dd70d8a9e1d4..f2f110a1ea6748a1d0323f5d7e0014e398f62891:/toolchain/gdb/Makefile diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile index f122881a7..696b2e493 100644 --- a/toolchain/gdb/Makefile +++ b/toolchain/gdb/Makefile @@ -1,59 +1,53 @@ -# $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 -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_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: 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))